2013-05-09 14 views
6

Próbuję napisać skrypt basha, który będzie uruchamiany przez zadanie cron, które wyśle ​​mi e-mail pod pewnymi warunkami.Używanie sendmaila z linii poleceń

aby spróbować i dostać sendmail pracy z moich Sendgrid ustawienia SMTP, mam edytowany plik /etc/postfix/main.cf z następujących czynności:

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 

I wznowiona postfix użyciu sudo /etc/init.d/postfix restart

i próbował wysyłając e-mail z wiersza polecenia za pomocą następującego polecenia:

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

Powoduje to następujące dane wyjściowe:

masz nowe wiadomości w/var/mail/ubuntu

Dlaczego czy wysyłanie sendgrid przy użyciu mojego adresu e-mail nie odbywa się z użyciem szczegółów SMTP Sendgrid podanych w pliku main.cf?

Uwaga: to pytanie dotyczy tylko sendmaila, nie chcę instalować innych klientów i aplikacji SMTP, musi działać tak, jak jest.

Odpowiedz

10

Moja konfiguracja Postfix była niepoprawna. Musiałem użyć następujących:

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 

Wysyłanie wiadomości e-mail za pomocą skryptu bash odbywa się w następujący sposób:

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