настроить локальную доставку почты пользователю из скрипта cron

настроить локальную доставку почты пользователю из скрипта cron

Строка в моем скрипте cron.daily не работает как ожидалось. У меня нетособенныйПочтовый сервер smtp в системе, эта строка rsync -avun --inplace /oneuser/file.xls /otheruser/file.xls| mail -s "$0 $?" предоставляет Cannot open mail:25сообщение Что мне нужно настроить локальную почтовую подсистему? Я предпочитаю простые почтовые ящики настройке почтового сервера. Мне нравится, что другой пользователь, вошедший в систему, может читать сообщения cron (root) с помощью mailкоманды. Я нашел похожий вопрос, но не ответ здесьКак настроить локальный прием и доставку почты?

когда я пытаюсь отправить письмо пользователю с помощью mailкоманды, я получаю после точки

EOT
[root@localhost etc]# send-mail: Cannot open mail:25

решение1

Я рекомендую вам просто установить postfixдля локальной доставки почты. В Ubuntu, по крайней мере, он интерактивно спросит о вашей настройке, которая включает опцию только локальной доставки.

Кроме того, вы можете создать локальную учетную запись mailboyдля доставки почты и разрешить всем людям читать почту, доставленную на эту учетную запись.

Чтобы отправить почту rootпо адресу mailboy, отредактируйте /etc/aliasesи добавьте строку:

root: mailboy@localhost

после этого запустите newaliases.

решение2

У меня также были эти сообщения в журнале, и это ssmtp, который, похоже, является новым по умолчанию для отправки почты Fedora 19+ или, по крайней мере, кажется установленным на моем Fedora 19. Если у вас есть другой mta, работающий на порту 25, ssmtp выдаст вам эту ошибку. Но я пишу, более того, чтобы сказать, что неотправленные сообщения отправляются в файл dead.letter, в моем случае в /root, так что если вам интересно, что случилось с не доставленными письмами, они находятся в одном файле с именем dead.letter.

решение3

Я использую Fedora 20 и внезапно начал получать эту ошибку на недавно установленных системах. Все предыдущие хосты (>70) просто могли сделать что-то вроде:

echo "Привет, мир" | mail -s "Салют"[email protected]

очень полезно из сценариев и т. д.

Теперь вызовы командной строки начали давать сбой

sSMTP[3144]: Невозможно подключиться к порту 25 «mail». sSMTP[3144]: Невозможно открыть mail:25

Журнал sendmail намекает, что команде не нравится опция -bd ("запустить как демон"). Как так? Конечно, если не демонизирован, он не будет слушать 25/tcp, что и приводит к ошибке.

Теперь следуйте самой команде. Вместо того, чтобы запустить оригинальный бинарный файл sendmail, ssmtp встал на пути и вытеснил его.

/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.ssmtp

вместо

/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail

Теперь, ssmtp, согласно его man-странице, очень прост, предназначен для замены sendmail в его простейшей функции - и не будет поддерживать опцию -bd. Таким образом, нет порта 25.

Здесь все обрывается - команда, обращающаяся к порту 25, выполнит аварийное завершение.

Я удалил (yum remove ssmtp) — и это заставило исходный sendmail возобновить свою работу — повторный запуск службы оживляет порт 25.

Теперь почтовая рассылка снова работает по старому принципу.

В другой раз я рассмотрю преимущества ssmtp...

решение4

Вам нужен SMTP-сервер,Агент по пересылке почты.

Вы можете просто установить opensmtpdи запустить службу.Конфигурация по умолчаниюзаключается в местной доставке почты.

Связанный контент