Utilisation de curl pour envoyer des e-mails

Comment puis-je utiliser le programme de ligne de commande curl pour envoyer un e-mail à partir d'un compte gmail?

J'ai essayé ce qui suit:

curl -n --ssl-reqd --mail-from "<sender@gmail.com>" --mail-rcpt "<receiver@server.tld>" --url smtps://smtp.gmail.com:465 -T file.txt

Avec fichier.txt étant le contenu de l'e-mail, cependant, lorsque j'exécute cette commande, j'obtiens l'erreur suivante:

curl: (67) Access denied: 530

Est-il possible d'envoyer un e-mail à partir d'un compte hébergé par un serveur personnel, toujours en utilisant curl? Est-ce que cela rend le processus d'authentification plus facile?

29
demandé sur NSNolan 2013-02-06 09:59:20

1 réponses

curl --url 'smtps://smtp.gmail.com:465' --ssl-reqd \
  --mail-from 'username@gmail.com' --mail-rcpt 'john@example.com' \
  --upload-file mail.txt --user 'username@gmail.com:password' --insecure

courrier.txt contenu du fichier:

From: "User Name" <username@gmail.com>
To: "John Smith" <john@example.com>
Subject: This is a test

Hi John,
I’m sending this mail with curl thru my gmail account.
Bye!

Informations supplémentaires:

  1. J'utilise curl version 7.21.6 avec le support SSL.

  2. Le commutateur --insecure permet à curl d'effectuer des connexions SSL" non sécurisées" et les transferts. Voir cette ressource en ligne cette ressource en ligne pour les de plus amples détails.

  3. Il est considéré comme une mauvaise pratique de sécurité pour passer les informations d'identification de Compte à travers arguments de ligne de commande. L'exemple ci dessus est à des fins de démonstration seulement.

  4. Vous devez activez l'accès pour moins d'applications sécurisées.

53
répondu bambam 2016-12-12 04:33:02