Mailutils выдает ошибку cannot send message

На моем сервере debian у меня установлен exim4. Я знаю, что MTA работает, потому что я могу отправлять письма с помощью php и он использует учетную запись, настроенную в /etc/exim4/passwd.client

Однако когда я пытаюсь в командной строке

echo "test" | mail -s "test" me@example.com

я получаю

mail: cannot send message: Process exited with a non-zero status

$? установлен в 36

Также /var/log/exim4/mainlog не показывает никаких записей, только (успешно) отправленные письма, которые я пытался отправить с php и обычные сообщения о начале и конце очереди, что указывает на то, что команда mail даже не достигает MTA.

mail --version

mail (GNU Mailutils) 3.1.1
Copyright (C) 2007-2016 Free Software Foundation, inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Я искал в Интернете и нашел проблемы, которые люди имели с конфигурацией postfix, но поскольку мой MTA - exim4 и он прекрасно работает сам по себе, я задаюсь вопросом, в чем здесь проблема.

Я настроил два других сервера, где системная почта работает нормально, я использую ее в cronjobs. Там я также просто установил exim4 и настроил его соответствующим образом и никогда не сталкивался с этой проблемой.

0
14.08.2018, 10:38
3 ответа

Пожалуйста, просмотрите файл журнала ошибок Postfix. Похоже, электронное письмо не было отправлено из-за сбоя авторизации.

Убедитесь в следующем: 1. Проверьте свой пароль (Пароль аутентификации SMTP )2. Разрешите менее безопасным приложениям доступ к вашей учетной записи электронной почты

.

БЮР :https://support.google.com/mail/answer/78754

0
28.01.2020, 02:42

TLDR; может быть проблема 32/64 бит. Попробуйте установить bsd -mailx

Я только что столкнулся с той же проблемой. Там вверху в категории "Раньше работало, а теперь нет. Я ничего не менял". Довольно странно, что ничего не появляется ни в одном из журналов в /var/log/exim4, когда электронная почта терпит неудачу.

У меня есть несколько компьютеров с Linux и Debian, некоторые безголовые, и все они работают под управлением Debian Stable. К счастью, я обнаружил, что запуск почты из командной строки работал на одной безголовой машине, но не на другой. Это дало мне полезную отправную точку для сравнения сторон -и -с двумя установками, чтобы увидеть, в чем может быть проблема.

Ничего очевидного не изменилось, поэтому я в отчаянии сделал

apt remove --purge exim4*

и повторно -установлены. Это не имело никакого эффекта.

Короче говоря, я просмотрел двоичный файл почты в /usr/bin/mail и «проследил» его до /etc/alternatives/mail и обнаружил, что на разных машинах он связан с разными почтовыми клиентами. На неработающей машине -он связан с:

lrwxrwxrwx 1 root root 23 Aug 23  2017 /etc/alternatives/mail -> /usr/bin/mail.mailutils

, но на рабочей машине он связан с:

lrwxrwxrwx 1 root root 18 Jun 15  2015 /etc/alternatives/mail -> /usr/bin/bsd-mailx

Я установил bsd -mailx на неработающую -машину, которая автоматически обновила ссылку в /etc/alternatives, и проблема исчезла. Почта теперь работает.

Как раз когда я поздравлял себя, я взглянул на другую работающую машину и заметил, что она также линкуется /etc/alternatives/mail -> /usr/bin/mail.mailutils-, так что это, казалось, развенчало любую теорию о том, что это mailutils.

Я просмотрел две установки (извините, не смог получить форматирование):

Нерабочая -машина:

dougie@nick:~$ dpkg -l | grep mailutils 
ii  libmailutils5:i386                    1:3.1.1-1                       i386         GNU Mail abstraction library

ii mailutils 1 :3.1.1 -1 утилиты i386 GNU mailutils для обработки почты ii mailutils -common 1 :3.1.1 -1 all Общие файлы для GNU mailutils

Рабочая машина:

dougie@skye:~$ dpkg -l | grep mailutils
ii  libmailutils5:amd64                     1:3.1.1-1                                       amd64        GNU Mail abstraction library

ii mailutils 1 :3.1.1 -1 amd64 утилиты GNU mailutils для обработки почты ii mailutils -common 1 :3.1.1 -1 all Общие файлы для GNU mailutils

Итак, это всего лишь догадка, но, возможно, это связано с тем, 32-битная или 64-битная версия установлена. И обходной путь для меня состоял в том, чтобы установить bsd -mailx.

1
28.01.2020, 02:42

У меня также 64-битная -машина, которая выдавала ошибку, как показано ниже

$ echo test | mail -s "testing ssmtp setup" mymail@gmail.com
mail: cannot send message: Process exited with a non-zero status

Но когда я подписался на @Dougie Nisbet и установил bsd -mailx, он отреагировал как

$ echo test | mail -s "testing ssmtp setup" mymail@gmail.com
send-mail: Authorization failed (534 5.7.14  https://support.google.com/mail/answer/78754 5-v6sm30064941pgc.86 - gsmtp)
Can't send mail: sendmail process failed with error code 1

Я знаю, что это не ответ. Но поскольку я не мог прокомментировать ответ @Dougie Nisbet, я написал это здесь, чтобы уберечь других от следования приведенному выше ответу.

1
28.01.2020, 02:42

Теги

Похожие вопросы