180 votes

Comment envoyer un e-mail depuis le terminal?

Je sais qu'il existe des façons d'envoyer des e-mails depuis le terminal sur Linux/MacOS, mais je n'arrive pas à trouver la documentation adéquate sur la manière de le faire.

En gros, j'en ai besoin pour mon script bash qui me notifie à chaque fois qu'il y a un changement dans un fichier.

3 votes

Il convient probablement de noter ici que certains hébergeurs et fournisseurs d'accès à Internet "désactivent" la possibilité de vous envoyer des e-mails. Je présume que c'est une tentative d'empêcher les gens de spammer et de phishing à travers eux.

0 votes

@JimJeffries Lesquels ? J'utilise un serveur web Amazon EC2.

8voto

Dans le terminal de votre Mac OS ou Linux, tapez ce code

mail -s (sujet) (adresseDestinataire) <<< "comment vas-tu ?"

pour un exemple, essayez ceci

mail -s "salut" abc@example.com <<< "comment vas-tu ?"

7voto

Tumtum Points 347

Pour les hôtes SMTP et Gmail, j'aime utiliser Swaks -> https://easyengine.io/tutorials/mail/swaks-smtp-test-tool/

Sur un Mac:

  1. brew install swaks
  2. swaks --to user@example.com --server smtp.example.com

2voto

Andrzey Points 11

Je pense que swaks est le meilleur. Voici un exemple plus compliqué, utilisant le cryptage TLS sur le port 25:

swaks --from john.smith@mydomain.com \
--h-From: '"John Smith" ' \
--h-Subject: 'Objet du message' \
--auth LOGIN --auth-user mylogin --auth-pass mypass \
--to someone@otherdomain.com \
--server smtp.example.com --port 25 -tls \
--add-header 'Content-Type: text/plain; charset="utf-8"'

0voto

Zac Points 570

J'ai pu envoyer un message multiligne en utilisant mailx avec le script shell suivant :

#!/bin/sh

MSG_FROM=zac@server.it
MSG_TO="zac@gmail.com"
MSG_SUBJ="Test"
SMTP_HOST="relay.zac.it"
MSG_BODY=(
"Line one" 
"" 
"Line two")

printf '%s\n' "${MSG_BODY[@]}" | mailx -v -s "$MSG_SUBJ" -S smtp="smtp://$SMTP_HOST" -S from=$MSG_FROM $MSG_TO

Je suis sous Red Hat Enterprise Linux Server version 6.4 (Santiago)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X