Различные способы отправки электронной почты из командной строки Linux - PullRequest
1 голос
/ 08 февраля 2011

Для наших веб-проектов нам нужен надежный механизм рассылки электронной почты.Из-за неудачного опыта в прошлом я написал сценарий bash (выполняется ежечасно), который отправляет уведомление по электронной почте, если

  1. процесс qmail-send не выполняется
  2. слишком много сбоев в почтовом журнале

При отправке уведомлений по электронной почте я, очевидно, не хочу зависеть от qmail, поскольку qmail будет недоступен, если не запущен процесс qmail-send.Однако следующая команда отправляет уведомление по электронной почте через qmail:

echo "failure rate critical" | mail -s "qmail notification" my@email.com

Какой самый простой способ отправить электронную почту из командной строки linux без qmail?Могу ли я использовать sendmail?

Если у вас, ребята, есть более умные системы сигнализации для мониторинга qmail, пожалуйста, дайте мне знать.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2011

Вызов двоичного файла /usr/sbin/sendmail. Обычно он доступен независимо от того, какой MTA вы используете, и вы можете быть уверены, что он поддерживает стандартный интерфейс sendmail, если он называется sendmail.

Самый простой способ его использования - вызвать sendmail -t и затем написать письмо, содержащее действительный заголовок To, в свой стандартный ввод. Если вы пропустите -t, вам придется передать адрес получателя в качестве аргумента командной строки.

Другим решением будет использование SMTP, но если вам нужно отправлять электронные письма из скрипта bash, это явно плохое решение, поскольку в Bash нет стандартных библиотек, которые бы содержали функции для отправки электронной почты через smtp (в отличие от python, где вы не можете легко отправлять почту, используя sendmail, но через SMTP).

1 голос
/ 16 февраля 2011

У вас есть утилита mail в POSIX. Если вы только для Linux, sendmail нормально (но тогда вы полагаетесь на (неправильную) конфигурацию системы, верно?).

В общем, протокол SMTP не так сложен. Я бы сказал, что вы можете говорить в чистом SMTP. Это около четырех команд для тривиальной почты. И это портативно :) Но если есть осложнения, это может привести к PITA ...

...