LINUX.ORG.RU
ФорумAdmin

Перестали отправляться письма через Sendmail (из PHP, из Python, из консоли через программу mail)


0

1

Имею сервачек на CentOs 5.8

В какой-то момент перестали приходить письма с отчетами.

Для верности пробую сделать так:

echo "Это письмо из консоли." | mail -s "Отправка из консоли" xintrea@gmail.com

В логе /var/log/maillog появляется запись:

Jan 14 15:50:11 srv3217 sendmail[22100]: r0EBoBqE022100: from=xi, size=110, class=0, nrcpts=1, msgid=<201301141150.r0EBoBqE022100@energobase.local>, relay=xi@localhost
Jan 14 15:50:11 srv3217 sendmail[22100]: r0EBoBqE022100: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30110, stat=queued

То есть, вроде бы письмо даже и отправляется. Но на почту не приходит.

Что я делаю неправильно? Почему пару дней назад работало, теперь перестало?

★★★★★

stat=queued

Это разве не должно быть Sent, если отправилось? Складывает куда-то может.

сервачек

Бить словарём!

LMD
()
Ответ на: комментарий от LMD

stat=queued

Это разве не должно быть Sent, если отправилось? Складывает куда-то может.

Мда, пару дней назад письма отправлялись, и у них статус Sent:

stat=Sent

Тогда вопрос. Как узнать куда складываются сообщения, и как их отправить реально?

Второй вопрос. Почему это произошло? Никаких настроек sendmail не менял. Да и вообще сервер не трогал.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от LMD

Так, нашел в /etc/mail/sendmail.cf опцию

O QueueDirectory=/var/spool/mqueue

Эта директория пуста. Где же складывается почта, если она не отправляется?

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от LMD

Еще в логе видны сообщения такого рода:

[127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

Видимо, это зацепка, но пока не могу понять что сие значит. В интернетах говорят что такое появляется, когда сервер не может принять почту от другого сервера. Но я же не принимаю почту, а наоборот, отправляю почту.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Skolotovich

Очередь пуста:

# mailq
/var/spool/mqueue is empty
Total requests: 0
Xintrea ★★★★★
() автор топика
Ответ на: комментарий от LMD

Да, у моего сервачка нет DNS-имени, только IP-шник. (Прописано только «внутреннее» имя energobase). Может быть в этом дело?

Но пару дней назад отправка почты работала, а никакие сетевые и почтовые настройки я не менял.

На всякий случай содержимое /etc/hosts

127.0.0.1               energobase energobase.local localhost
::1             localhost6.localdomain6 localhost6

Содержимое /etc/resolv.conf

nameserver 208.67.222.222
nameserver 208.67.220.220
Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)

201301141150.r0EBoBqE022100@energobase.local>, >relay=xi@localhost

Возможно у вас не правильно указан fqdn при отправке письма, поэтому письма и не доходят. + посмотрите настройки релея

relay=xi@localhost

samarin
()
Ответ на: комментарий от samarin

Да, у моенго сервачка нет DNS-имени, только IP-шник. Может быть в этом дело?

Конечно в этом Подставляйте поле from от существующего адреса

php -r «echo mail('xintrea@gmail.com', 'Test', 'test message .','From: адрес@gmail.com');»

samarin
()
Ответ на: комментарий от samarin

Возможно у вас не правильно указан fqdn при отправке письма, поэтому письма и не доходят. + посмотрите настройки релея

Ох, для меня сендмайл - темный лес...

По поводу FQDN скажу, что не представляю, как его можно настроить. Дело в том, что по техзаданию сервер не должен иметь доменного имени. Поэтому как должен выглядеть FQDN в этом случае не имею понятия.

По поводу релея - что конкретно нужно настраивать? Сейчас в ralay прописывается текущий пользователь и «внутреннее» имя машины. А что должно быть прописано?

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

А должно быть прописано реально существующее доменное имя от реально работающего почтового сервера

samarin
()
Ответ на: комментарий от samarin

Пробую:

php -r "echo mail('xintrea@gmail.com', 'Test', 'test message .','From: xintrea@mail.ru');"

В логе вижу две новых строки:

[root@energobase log]# tail /var/log/maillog 
...
Jan 14 17:01:11 srv3217 sendmail[29611]: r0ED1BiJ029611: from=xi, size=74, class=0, nrcpts=1, msgid=<201301141301.r0ED1BiJ029611@energobase.local>, relay=xi@localhost
Jan 14 17:01:11 srv3217 sendmail[29611]: r0ED1BiJ029611: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30074, stat=queued

Очередь:

[root@energobase log]# mailq
/var/spool/mqueue is empty
                Total requests: 0

И все, письма нет.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Какой уровень логирования стоит. Надо больше инфы. Всякие таймауты и прочее. Вот что там выше [127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA?

А постфикс какой-нибудь не хотите? А то сендмейл не для нормальных людей... Я в нём не очень.

LMD
()
Ответ на: комментарий от LMD

Вообще, судя по ошибке

[127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during >connection to MTA?

Это криворукий sendmail, который неправильно использует параметры передачи почты =====================

to Xintrea

telnet localhost 25

и передача почты вручную внемательно смотря на вывод

+

сюда вывод версии senmail. И результаты отправки через telnet

samarin
()
Ответ на: комментарий от samarin

Как тут править свое сообщение?

====

xintrea@mail.ru

Нашли какой сервер использовать для проверки :D

Этот адрес хоть реально существует?

samarin
()
Ответ на: комментарий от LMD

Какой уровень логирования стоит.

dnl define(`confLOG_LEVEL', `9')dnl

Надо больше инфы. Всякие таймауты и прочее. Вот что там выше [127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA?

Вот кусок лога с последними событиями, там есть про это MTA:

Jan 14 15:31:53 srv3217 sendmail[20344]: alias database /etc/aliases rebuilt by root
Jan 14 15:31:53 srv3217 sendmail[20344]: /etc/aliases: 76 aliases, longest 10 bytes, 765 bytes total
Jan 14 15:31:53 srv3217 sendmail[20349]: starting daemon (8.13.8): SMTP+queueing@01:00:00
Jan 14 15:31:53 srv3217 sendmail[20350]: qBRCg2O0028923: to=<xi@energobase.local>, ctladdr=<xi@energobase.local> (500/500), delay=17+22:49:51, xdelay=00:00:00, mailer=local, pri=210392, dsn=2.0.0, stat=Sent
Jan 14 15:31:53 srv3217 sendmail[20350]: qBRCg2k3028961: to=<xi@energobase.local>, ctladdr=<xi@energobase.local> (500/500), delay=17+22:49:51, xdelay=00:00:00, mailer=local, pri=210392, dsn=2.0.0, stat=Sent
Jan 14 15:31:53 srv3217 sendmail[20350]: qBRCg271028960: to=<xi@energobase.local>, ctladdr=<xi@energobase.local> (500/500), delay=17+22:49:51, xdelay=00:00:00, mailer=local, pri=210392, dsn=2.0.0, stat=Sent
Jan 14 15:31:53 srv3217 sendmail[20350]: qBRCg2QG028997: to=<xi@energobase.local>, ctladdr=<xi@energobase.local> (500/500), delay=17+22:49:50, xdelay=00:00:00, mailer=local, pri=210392, dsn=2.0.0, stat=Sent
Jan 14 15:31:53 srv3217 sendmail[20350]: qBRCg2HA028964: to=<xi@energobase.local>, ctladdr=<xi@energobase.local> (500/500), delay=17+22:49:51, xdelay=00:00:00, mailer=local, pri=210392, dsn=2.0.0, stat=Sent
Jan 14 15:31:53 srv3217 sendmail[20350]: qBRCg3gN028999: to=<xi@energobase.local>, ctladdr=<xi@energobase.local> (500/500), delay=17+22:49:50, xdelay=00:00:00, mailer=local, pri=210392, dsn=2.0.0, stat=Sent
Jan 14 15:31:54 srv3217 sendmail[20350]: qBRCg3nA029012: to=<xi@energobase.local>, ctladdr=<xi@energobase.local> (500/500), delay=17+22:49:51, xdelay=00:00:00, mailer=local, pri=210392, dsn=2.0.0, stat=Sent
Jan 14 15:31:54 srv3217 sm-msp-queue[20365]: starting daemon (8.13.8): queueing@01:00:00
Jan 14 15:31:54 srv3217 sm-msp-queue[20365]: runqueue: Skipping queue run -- load average too high
Jan 14 15:31:58 srv3217 sendmail[20376]: r0EBVw53020376: from=xi, size=200, class=0, nrcpts=1, msgid=<201301141131.r0EBVw53020376@energobase.local>, relay=xi@localhost
Jan 14 15:31:58 srv3217 sendmail[20376]: r0EBVw53020376: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30200, stat=queued
Jan 14 15:35:06 srv3217 sendmail[20648]: r0EBZ6j8020648: from=xi, size=200, class=0, nrcpts=1, msgid=<201301141135.r0EBZ6j8020648@energobase.local>, relay=xi@localhost
Jan 14 15:35:06 srv3217 sendmail[20648]: r0EBZ6j8020648: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30200, stat=queued
Jan 14 15:35:49 srv3217 sendmail[20710]: r0EBZnpA020710: from=xi, size=198, class=0, nrcpts=1, msgid=<201301141135.r0EBZnpA020710@energobase.local>, relay=xi@localhost
Jan 14 15:35:49 srv3217 sendmail[20710]: r0EBZnpA020710: to=xintrea@mail.ru, delay=00:00:00, mailer=relay, pri=30198, stat=queued
Jan 14 15:40:35 srv3217 sendmail[21123]: r0EBeZtn021123: from=xi, size=305, class=0, nrcpts=1, msgid=<201301141140.r0EBeZtn021123@energobase.local>, relay=xi@localhost
Jan 14 15:40:35 srv3217 sendmail[21123]: r0EBeZtn021123: to=xintrea@mail.ru, delay=00:00:00, mailer=relay, pri=30305, stat=queued
Jan 14 15:42:14 srv3217 sendmail[21292]: r0EBgExF021292: energobase [127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 14 15:46:10 srv3217 sendmail[21695]: r0EBkA2U021695: from=xi, size=305, class=0, nrcpts=1, msgid=<201301141146.r0EBkA2U021695@energobase.local>, relay=xi@localhost
Jan 14 15:46:10 srv3217 sendmail[21695]: r0EBkA2U021695: to=xintrea@mail.ru, delay=00:00:00, mailer=relay, pri=30305, stat=queued
Jan 14 15:46:11 srv3217 sendmail[21698]: r0EBkBVA021698: energobase [127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 14 15:50:11 srv3217 sendmail[22100]: r0EBoBqE022100: from=xi, size=110, class=0, nrcpts=1, msgid=<201301141150.r0EBoBqE022100@energobase.local>, relay=xi@localhost
Jan 14 15:50:11 srv3217 sendmail[22100]: r0EBoBqE022100: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30110, stat=queued
Jan 14 16:19:40 srv3217 sendmail[25106]: r0ECJeUW025106: from=xi, size=110, class=0, nrcpts=1, msgid=<201301141219.r0ECJeUW025106@energobase.local>, relay=xi@localhost
Jan 14 16:19:40 srv3217 sendmail[25106]: r0ECJeUW025106: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30110, stat=queued
Jan 14 16:20:19 srv3217 sendmail[25219]: r0ECKJtZ025219: from=xi, size=110, class=0, nrcpts=1, msgid=<201301141220.r0ECKJtZ025219@energobase.local>, relay=xi@localhost
Jan 14 16:20:19 srv3217 sendmail[25219]: r0ECKJtZ025219: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30110, stat=queued
Jan 14 16:31:54 srv3217 sm-msp-queue[20365]: runqueue: Skipping queue run -- load average too high
Jan 14 16:33:33 srv3217 sendmail[26611]: NOQUEUE: SYSERR(xi): can not chdir(/var/spool/mqueue/): Permission denied
Jan 14 16:47:21 srv3217 sendmail[28096]: r0EClLE5028096: from=xi, size=110, class=0, nrcpts=1, msgid=<201301141247.r0EClLE5028096@energobase.local>, relay=xi@localhost
Jan 14 16:47:21 srv3217 sendmail[28096]: r0EClLE5028096: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30110, stat=queued
Jan 14 17:01:11 srv3217 sendmail[29611]: r0ED1BiJ029611: from=xi, size=74, class=0, nrcpts=1, msgid=<201301141301.r0ED1BiJ029611@energobase.local>, relay=xi@localhost
Jan 14 17:01:11 srv3217 sendmail[29611]: r0ED1BiJ029611: to=xintrea@gmail.com, delay=00:00:00, mailer=relay, pri=30074, stat=queued

А постфикс какой-нибудь не хотите? А то сендмейл не для нормальных людей... Я в нём не очень.

Мне без разницы, лишь бы отправка почты работала. Но это как -то неправильно. Sendmail же работал, значит его можно заставить работать и дальше.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от samarin

Версия sendmail:

ESMTP Sendmail 8.13.8/8.13.8

Отправка вручную через порт- работает. Письмо пришло.

$ telnet localhost 25
Trying 127.0.0.1...
Connected to energobase.local (127.0.0.1).
Escape character is '^]'.
220 energobase.local ESMTP Sendmail 8.13.8/8.13.8; Mon, 14 Jan 2013 17:46:58 +0400
HELO 127.0.0.1
250 energobase.local Hello energobase [127.0.0.1], pleased to meet you
MAIL FROM:<xintrea@mail.ru>
250 2.1.0 <xintrea@mail.ru>... Sender ok
RCPT TO:<xintrea@gmail.com>
250 2.1.5 <xintrea@gmail.com>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
From: xintrea@mail.ru
To: xintrea@gmail.com
Reply-To: xintrea@mail.ru
X-Mailer: Python
Content-type: text/html charset=utf-8
subject: Hand sending

Hello! It is hand sendin mail

.
250 2.0.0 r0EDkwW7002158 Message accepted for delivery
QUIT
221 2.0.0 energobase.local closing connection
Connection closed by foreign host.

В логе:

Jan 14 17:48:16 srv3217 sendmail[2158]: r0EDkwW7002158: from=<xintrea@mail.ru>, size=179, class=0, nr
cpts=1, msgid=<201301141347.r0EDkwW7002158@energobase.local>, proto=SMTP, daemon=MTA, relay=energobas
e [127.0.0.1]
Jan 14 17:48:17 srv3217 sendmail[2289]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=T
LSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Jan 14 17:48:17 srv3217 sendmail[2289]: r0EDkwW7002158: to=<xintrea@gmail.com>, delay=00:00:37, xdela
y=00:00:01, mailer=esmtp, pri=120179, relay=gmail-smtp-in.l.google.com. [74.125.143.27], dsn=2.0.0, s
tat=Sent (OK 1358171940 v8si5260204lbf.182)

То есть, протокол вроде как правильно поддерживается и отправка работает.

Но почему не отправляется почта из программы mail? Из PHP? Из Python?

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

для начала, разгребите вот это

runqueue: Skipping queue run — load average too high
Jan 14 16:33:33 srv3217 sendmail[26611]: NOQUEUE: SYSERR(xi): >can not chdir(/var/spool/mqueue/): Permission denied

samarin
()
Ответ на: комментарий от samarin

нет прав на запись очередей

А какие должны стоять права?

У меня сейчас так:

# pwd
/var/spool
# ls -l | grep queue
drwxrwx--- 2 smmsp  smmsp  45056 Янв 14 17:01 clientmqueue
drwx------ 2 root   mail    4096 Янв 14 17:48 mqueue

Непонятно, почему тут две очереди. Стоит один только sendmail, и у него прописана очередь как /var/spool/mqueue.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

У вас владелец файла root

drwx------ 2 root mail 4096 Янв 14 17:48 mqueue

Под каким пользователем работает sendmail? в месте «sendmail» вставьте своего пользователя

chown sendmail.sendmail /var/spool/mquele

Если не понятно - то просто ))

chmod 777 mquele

samarin
()
Ответ на: комментарий от samarin

Под каким пользователем работает sendmail?

Незнаю. Может быть, под root и smmsp?

[code]
# ps aux | grep sendmail
root 5469 0.0 0.0 9364 1684 ? Ss 18:17 0:00 sendmail: accepting connections
smmsp 5478 0.0 0.0 8276 1496 ? Ss 18:17 0:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
[/code]

Я поставил 777 и на mqueue и на clientmqueue. Перезапустил на всякий случай sendmail. Толку никакого - письма не уходят. Единственно что - нет предупреждений о том что невозможно с каталогом /var/spool/mqueue работать.

Что еще можно посмотреть?

Блин, ну вручную же, через локальный sendmail письма уходят!

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Что еще можно посмотреть?

читайте внимательно топики

runqueue: Skipping queue run — load average too high

Когда разберетесь с load average пересоберите sendmail - этот криво отсылает заголовки

samarin
()
Ответ на: комментарий от samarin

Ахренеть... 21-й век на дворе, протоколу 40 лет, и до сих пор программа, которая должна это уже наконец-то делать без ошибок, криво отсылает заголовки!

Нет, я ее снесу, наверно буду пробовать postfix. Сендмайлу доверия нет, два дня на него убил.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

ну во первых она у вас отправляет письма подставляя fqdn. А он у вас *.local. Что недопустимо

Во вторых у вас

load average too high

из за которого не работают очереди

Так, что sendmail тут, скорей всего, не виноват)

samarin
()
Ответ на: комментарий от Xintrea

Непонятно, почему тут две очереди. Стоит один только
sendmail, и у него прописана очередь как /var/spool/mqueue.

Потому, что это штатный режим работы Sendmail, начиная с, помнится, 8.12. Локально отправляемое сообщение обслуживается отдельным процессом со своим конфигом. Потом оно передаётся основному процессу.

AS ★★★★★
()
Ответ на: комментарий от Xintrea

php -r «echo mail('xintrea@gmail.com', 'Test', 'test message .','From: xintrea@mail.ru');»

Хоть, при данной проблеме, это и не важно, но From: xintrea@mail.ru серверу не интересен ни в каком виде. Важнее envelope from. Надо так:

php -r «echo mail('xintrea@gmail.com', 'Test', 'test message .','From: xintrea@mail.ru', '-fxintrea@mail.ru');»

AS ★★★★★
()
Ответ на: комментарий от AS

В общем снес кхерам sendmail, поставил postfix.

Почта стала отправляться сразу, без всякой настройки. И из PHP, и из Python, и из mail.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Когда что-то сломается в Постфикс, что тогда ставить ? Exim ? :-)
Лог Sendmail, кстати, удобнее читать.

AS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.