2013-05-09 2 views
6

Я пытаюсь написать сценарий bash, который будет выполняться заданием cron, которое отправит мне электронное письмо при определенных обстоятельствах.Использование sendmail из командной строки

Для того, чтобы попытаться получить Sendmail работает с моими Sendgrid настройками SMTP, я редактировал файл /etc/postfix/main.cf со следующим:

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 

Я перезагрузил суффикс с помощью Судо /etc/init.d/postfix перезагружать

И попытался отправки по электронной почте из командной строки с помощью следующей команды:

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

Это приводит следующий вывод:

новой почты в/вар/почте/убунту

Почему не посылает sendgrid с моей электронной почтой, используя SMTP-данные Sendgrid, указанные мной в main.cf?

Обратите внимание, что этот вопрос относится только к sendmail, я не хочу устанавливать другие SMTP-клиенты и приложения, он должен работать как есть.

ответ

10

Конфигурация My Postfix была неправильной. Мне нужно использовать следующее:

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 

Отправка электронной почты с помощью Баш скрипт выполняется следующим образом:

sendmail [email protected] <<EOF 
subject:This is a test 
from:[email protected] 
Body message here... 
EOF 
Смежные вопросы