Назад | Перейти на главную страницу

Что еще проверить, чтобы узнать, почему электронные письма не доставляются?

Наши электронные сообщения не доставляются. Мы выполнили некоторую отладку, но не обнаружили никаких проблем. Когда мы отправляем электронное письмо с помощью простого тестового скрипта, PHPMailer сообщает об успехе, а в журналах указывается, что письмо было принято для доставки:

Сообщение принято к доставке

но ничего не приходит на принимающую сторону, ни в почтовый ящик, ни в папку со спамом.

Какие у нас варианты отладки?

У нас есть следующее

Вот примеры журналов, в которых мы заменили идентификационную информацию фиктивными данными:

2019-03-15 16:19:42 Connection: opening to localhost:25, timeout=300, options=array()
2019-03-15 16:19:42 Connection: opened
2019-03-15 16:19:42 SMTP INBOUND: "220 example.com ESMTP Sendmail 8.14.4/8.14.4/Debian-4.1ubuntu1; Fri, 15 Mar 2019 17:19:42 +0100; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]"
2019-03-15 16:19:42 SERVER -> CLIENT: 220 example.com ESMTP Sendmail 8.14.4/8.14.4/Debian-4.1ubuntu1; Fri, 15 Mar 2019 17:19:42 +0100; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
2019-03-15 16:19:42 CLIENT -> SERVER: EHLO example.com
2019-03-15 16:19:42 SMTP INBOUND: "250-example.com Hello localhost [127.0.0.1], pleased to meet you"
2019-03-15 16:19:42 SMTP INBOUND: "250-ENHANCEDSTATUSCODES"
2019-03-15 16:19:42 SMTP INBOUND: "250-PIPELINING"
2019-03-15 16:19:42 SMTP INBOUND: "250-EXPN"
2019-03-15 16:19:42 SMTP INBOUND: "250-VERB"
2019-03-15 16:19:42 SMTP INBOUND: "250-8BITMIME"
2019-03-15 16:19:42 SMTP INBOUND: "250-SIZE"
2019-03-15 16:19:42 SMTP INBOUND: "250-DSN"
2019-03-15 16:19:42 SMTP INBOUND: "250-ETRN"
2019-03-15 16:19:42 SMTP INBOUND: "250-AUTH DIGEST-MD5 CRAM-MD5"
2019-03-15 16:19:42 SMTP INBOUND: "250-DELIVERBY"
2019-03-15 16:19:42 SMTP INBOUND: "250 HELP"
2019-03-15 16:19:42 SERVER -> CLIENT: 250-example.com Hello localhost [127.0.0.1], pleased to meet you
                                      250-ENHANCEDSTATUSCODES
                                      250-PIPELINING
                                      250-EXPN
                                      250-VERB
                                      250-8BITMIME
                                      250-SIZE
                                      250-DSN
                                      250-ETRN
                                      250-AUTH DIGEST-MD5 CRAM-MD5
                                      250-DELIVERBY
                                      250 HELP
2019-03-15 16:19:42 CLIENT -> SERVER: MAIL FROM:<info@example.com>
2019-03-15 16:19:42 SMTP INBOUND: "250 2.1.0 <info@example.com>... Sender ok"
2019-03-15 16:19:42 SERVER -> CLIENT: 250 2.1.0 <info@example.com>... Sender ok
2019-03-15 16:19:42 CLIENT -> SERVER: RCPT TO:<john.doe@gmail.com>
2019-03-15 16:19:42 SMTP INBOUND: "250 2.1.5 <john.doe@gmail.com>... Recipient ok
"2019-03-15 16:19:42    SERVER -> CLIENT: 250 2.1.5 <john.doe@gmail.com>... Recipient ok
2019-03-15 16:19:42 CLIENT -> SERVER: DATA
2019-03-15 16:19:42 SMTP INBOUND: "354 Enter mail, end with "." on a line by itself"
2019-03-15 16:19:42 SERVER -> CLIENT: 354 Enter mail, end with "." on a line by itself
2019-03-15 16:19:42 CLIENT -> SERVER: Date: Fri, 15 Mar 2019 17:19:42 +0100
2019-03-15 16:19:42 CLIENT -> SERVER: To: john.doe@gmail.com
2019-03-15 16:19:42 CLIENT -> SERVER: From: info@example.com
2019-03-15 16:19:42 CLIENT -> SERVER: Subject: Test Email
2019-03-15 16:19:42 CLIENT -> SERVER: Message-ID: <LQM2kBXgDboENNfZCiZXl5DTCXJgino6kLi9Ham0@example.com>
2019-03-15 16:19:42 CLIENT -> SERVER: X-Mailer: PHPMailer 6.0.5 (https://github.com/PHPMailer/PHPMailer)
2019-03-15 16:19:42 CLIENT -> SERVER: MIME-Version: 1.0
2019-03-15 16:19:42 CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-1
2019-03-15 16:19:42 CLIENT -> SERVER:
2019-03-15 16:19:42 CLIENT -> SERVER: The body of the test email.
2019-03-15 16:19:42 CLIENT -> SERVER:
2019-03-15 16:19:42 CLIENT -> SERVER: .
2019-03-15 16:19:42 SMTP INBOUND: "250 2.0.0 x2FGJgcR016911 Message accepted for delivery"
2019-03-15 16:19:42 SERVER -> CLIENT: 250 2.0.0 x2FGJgcR016911 Message accepted for delivery
2019-03-15 16:19:42 CLIENT -> SERVER: QUIT
2019-03-15 16:19:42 SMTP INBOUND: "221 2.0.0 example.com closing connection"
2019-03-15 16:19:42 SERVER -> CLIENT: 221 2.0.0 example.com closing connection
2019-03-15 16:19:42 Connection: closed

Обновить
Журнал, /var/log/mail.log, очень длинный (более 400 КБ), однако я искал в нем строки, содержащие x2FGJgcR016911 поскольку он выглядит как какой-то хеш и присутствует в моих примерах журналов выше. Я нашел эти четыре строки (опять же, в которых идентифицирующая информация была замалчена):

Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJgcR016911: to=<john.doe@gmail.com>, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120332, relay=gmail-smtp-in.l.google.com. [74.125.140.26], dsn=5.0.0, stat=Service unavailable
Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJgcR016911: to=<info@example.com>, delay=00:00:01, mailer=local, pri=120332, dsn=5.1.1, stat=User unknown
Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJgcR016911: to=postmaster, delay=00:00:01, mailer=local, pri=120332, dsn=5.1.1, stat=User unknown
Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJgcR016911: x2FGJhcR016913: postmaster notify: User unknown

Обновление 2
Журналы в интерпретации @MichaelHampton показывают двойной отскок. Вот дополнительные строки, относящиеся ко второму отскоку:

Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJhcR016913: to=MAILER-DAEMON, delay=00:00:00, mailer=local, pri=0, dsn=5.1.1, stat=User unknown
Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJhcR016913: to=postmaster, delay=00:00:00, mailer=local, pri=0, dsn=5.1.1, stat=User unknown
Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJhcR016913: x2FGJhcS016913: return to sender: User unknown
Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJhcS016913: to=MAILER-DAEMON, delay=00:00:00, mailer=local, pri=0, dsn=5.1.1, stat=User unknown
Mar 15 17:19:43 m1-production sm-mta[16913]: x2FGJhcR016913: Saved message in /var/lib/sendmail/dead.letter

Если вы используете postfix, рекомендуется удалить sendmail.

sudo apt remove --purge sendmail

или в семействе Red Hat (CentOS, Fedora и т. д.)

sudo yum remove sendmail

В конце концов, если вы не хотите удалять sendmail, просто используйте это:

sudo systemctl stop sendmail

sudo systemctl disable sendmail

sudo systemctl mask --now sendmail

Опции umask и enable and start могут вернуть состояние обратно.