Вопрос или проблема
Смешанная почта не смогла отправить сообщение с ошибкой “sendmail: Невозможно открыть mail:25”
Привет, я пытаюсь отправить письмо, используя команду mutt, как показано ниже,
mutt -s "test" [email protected] </dev/null
Это завершается с ошибкой, следующей ошибкой,
sendmail: Не удается открыть mail:25
Ошибка при отправке сообщения, дочерний процесс завершился с кодом 1 ().
Не удалось отправить сообщение.
Эта проблема возникает на машинах с Fedora 22 и Fedora 23. Я использовал то же самое на Fedora 12, и оно работает нормально
Попробовал изменить следующее значение в файле “/etc/ssmtp/ssmtp.conf”
mailhub=mail
на
mailhub=fqdn_of_my_machine
Тем не менее, я получаю аналогичную ошибку, как ниже,
sendmail: Не удается открыть fqdn_of_my_machine:25
Ошибка при отправке сообщения, дочерний процесс завершился с кодом 1 ().
Не удалось отправить сообщение.
Даже при использовании sendmail я получаю ту же ошибку, что и выше,
sendmail [email protected] < /tmp/file1
sendmail: Не удается открыть fqdn_of_my_machine:25
Как уже упоминал natxo, нам нужно установить пакет smtp и настроить его. Так что я попробовал следующие команды, и это сработало,
# smtp --> он спросит, что пакет не установлен [Да]
dnf install sendmail # (устанавливает несколько других зависимостей)
dnf install sendmail-cf # (используется для автоматической настройки)
Ответ или решение
Проблема, с которой вы сталкиваетесь, связана с тем, что программа mutt
не может открыть соединение с почтовым сервером на порту 25. Это может быть вызвано несколькими причинами, включая отсутствие установленного почтового агента, неправильную конфигурацию или отсутствие необходимых пакетов.
Вот шаги, которые вы можете предпринять для решения этой проблемы:
-
Установка необходимого ПО:
Убедитесь, что у вас установленsendmail
и его зависимости. Для этого выполните следующую команду:sudo dnf install sendmail sendmail-cf
-
Настройка конфигурации:
В файле конфигурации/etc/ssmtp/ssmtp.conf
, убедитесь, что вы правильно указали параметрыmailhub
. Для использования локального сервера исправьте строку следующим образом:mailhub=localhost:25
Если вы используете удаленный почтовый сервер, укажите его полное доменное имя или IP-адрес, например:
mailhub=fqdn_of_my_machine:25
-
Запуск службы Sendmail:
Убедитесь, что служба отправки email запущена. Для этого выполните следующую команду:sudo systemctl start sendmail sudo systemctl enable sendmail
-
Проверка конфигурации:
После установки и настройки попробуйте протестировать отправку почты с помощьюsendmail
. Создайте временный файл и используйте его в следующей команде:echo "Тестовое сообщение" > /tmp/testmail sendmail -v [email protected] < /tmp/testmail
Обратите внимание на вывод команды, который может предоставить дополнительную информацию о проблеме.
-
Логи для устранения неполадок:
Если проблема сохраняется, проверьте логи почтового сервера для выявления ошибок. Логиsendmail
обычно находятся в/var/log/maillog
или/var/log/mail.log
. Используйте команду:sudo tail -f /var/log/maillog
чтобы в реальном времени отслеживать запись логов.
- Firewall и SELinux:
Проверьте настройки вашего брандмауэра (firewall) и SELinux, так как они могут блокировать порты. Убедитесь, что порт 25 открыт:sudo firewall-cmd --permanent --add-port=25/tcp sudo firewall-cmd --reload
Следуя этим шагам, вы сможете диагностировать и устранить проблему, возникающую при использовании mutt
для отправки почты. Если проблема не решится, обратитесь к дополнительным ресурсам или к поддержке вашего почтового сервера.