Comment envoyer du courrier depuis la ligne de commande ?
Réponses
Trop de publicités?Je n'ai jamais essayé mais il y a un mail
commande qui peut envoyer du courrier. Voir courrier masculin .
Pour tester le courrier électronique local :
echo message | mail username@localhost
Vous pouvez essayer ceci :
mail name@mailserver.com -s "Attached file" <<EOF
Hi
~| uuencode $HOME/filename.txt filename.txt
EOF
Il fonctionne avec GNU Mailutils Pour plus d'informations, consultez le site web.
Exécuter :
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
Il faut y ajouter ce qui suit :
# The user that gets all the mails (UID < 1000, usually the admin)
root=yourusernameofgmail@gmail.com
# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable
# See also https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# The address where the mail appears to come from for user authentication.
rewriteDomain=gmail.com
# Use SSL/TLS before starting negotiation
UseTLS=Yes
UseSTARTTLS=Yes
# Username/Password
AuthUser=yourusernameofgmail
AuthPass=yourGmailPassowrd
AuthMethod=LOGIN
# Email 'From header's can override the default domain?
FromLineOverride=yes
Exécuter :
sudo -H gedit /etc/ssmtp/revaliases
Entrez là :
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
Activer "applications moins sûres" sur Gmail :
https://support.google.com/accounts/answer/6010255?hl=en
Testez-le en exécutant la commande suivante dans le terminal :
echo "Body of mail is abc" | mail -s "Subject is xyz" "someusername@gmail.com"`
Je veux ajouter un autre moyen assez simple mais intéressant de le faire, fourni par AWS ( lien )
Vous devez donc préparer ce fichier texte, le sauvegarder sous le nom de input.txt
. N'oubliez pas de modifier les valeurs :
-
Remplacez exemple.com par votre domaine d'envoi.
-
Remplacez Base64EncodedSMTPUserName par votre nom d'utilisateur SMTP codé en base64.
-
Remplacez Base64EncodedSMTPPassword par votre mot de passe SMTP codé en base64.
-
Remplacez sender@example.com par l'adresse électronique à partir de laquelle vous envoyez votre message. Cette identité doit être vérifiée.
-
Remplacez recipient@example.com par l'adresse électronique de destination. Si votre compte Amazon SES est encore dans le bac à sable, cette adresse doit être vérifiée.
EHLO example.com AUTH LOGIN Base64EncodedSMTPUserName Base64EncodedSMTPPassword MAIL FROM: sender@example.com RCPT TO: recipient@example.com DATA From: Sender Name <sender@example.com> To: recipient@example.com Subject: Amazon SES SMTP Test This message was sent using the Amazon SES SMTP interface. . QUIT
-
Pour envoyer en utilisant le SSL explicite sur le port 587 - Entrez la commande suivante :
openssl s_client -crlf -quiet -starttls smtp -connect smtp-server-endpoint:587 < input.txt
-
Pour envoyer en utilisant le SSL implicite sur le port 465 - Entrez la commande suivante :
openssl s_client -crlf -quiet -connect smtp-server-endpoint:465 < input.txt