
Строка в моем скрипте 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
и запустить службу.Конфигурация по умолчаниюзаключается в местной доставке почты.