2013-05-09 5 views
6

J'essaye d'écrire un script bash, qui sera exécuté par une tâche cron, qui m'enverra un email dans certaines circonstances.Utiliser sendmail à partir de la ligne de commande

Pour essayer d'obtenir sendmail travailler avec mes SendGrid paramètres SMTP, je l'ai modifié le fichier /etc/postfix/main.cf ce qui suit:

smtp_sasl_password_maps = static:<username>:<password> 
smtp_sasl_security_options = noanonymous 
smtp_tls_security_level = may 
smtp_tls_security_level=encrypt 
header_size_limit = 4096000 
relayhost = [smtp.sendgrid.net]:587 

Je redémarrés Postfix utilisant sudo /etc/init.d/postfix redémarrer

et avons essayé d'envoyer un e-mail à partir de la ligne de commande en utilisant la commande suivante:

sendmail [email protected] < /tmp/email.txt

Il en résulte la sortie suivante:

Vous avez de nouveaux messages dans/var/mail/ubuntu

Pourquoi l'envoi sendgrid n'est pas envoyé avec mon email en utilisant les détails Sendgrid SMTP que j'ai spécifiés dans main.cf?

S'il vous plaît noter que cette question concerne sendmail seulement, je ne veux pas installer d'autres clients et applications SMTP, il doit fonctionner tel quel.

Répondre

10

Ma configuration de Postfix était erronée. Je avais besoin d'utiliser ce qui suit:

smtp_sasl_auth_enable = yes 
smtp_sasl_password_maps = static:<username>:<password> 
smtp_sasl_security_options = noanonymous 
smtp_tls_security_level = may 
header_size_limit = 4096000 
relayhost = [smtp.sendgrid.net]:587 

Envoi du courrier électronique via le script bash se fait comme suit:

sendmail [email protected] <<EOF 
subject:This is a test 
from:[email protected] 
Body message here... 
EOF 
Questions connexes