У меня есть сервер Debian, на котором запущены PHP и Exim4 (среди прочего, конечно). Приложение PHP отправляет тысячи писем каждый день, и все они работают нормально, однако теперь у меня есть новый клиент, и у моего PHP / Exim4 проблемы с отправкой на эту учетную запись.
PS Я добавил --at--, чтобы краулеры не находили адреса.
2014-04-02 08:48:10 1WV7TW-0001Em-Od <= support --at-- sobs.com.au H=localhost [127.0.0.1] P=esmtp S=1215 2014-04-02 08:48:11 1WV7TW-0001Em-Od ** az --at-- mentonegrammmar: Unrouteable address 2014-04-02 08:48:11 1WV7TW-0001Em-Od Completed
# exim -bt az --at-- mentonegrammar R: dnslookup for az --at-- mentonegrammar az --at-- mentonegrammar router = dnslookup, transport = remote_smtp host mail.mentonegrammar [58.96.103.231] MX=5
Похоже, маршрутизация работает отлично. Я снова попробовал отправить адрес электронной почты приложения, но по-прежнему получаю сообщение об ошибке «Не маршрутизируемый адрес».
Затем я попробовал написать письмо из командной строки с того же сервера.
echo "Test message" | mail -s "Test message" az --at-- mentonegrammar
Это письмо сработало и пришло по мере необходимости, но письмо от моего PHP-приложения по-прежнему не работает.
$mime = new Mail_mime(); $mime->setHTMLBody($body); $content = $mime->get(array('html_charset' => 'utf-8')); $formattedHeaders = $mime->headers($headers); $smtp = Mail::factory("smtp", array()); $result = $smtp->send($headers["To"], $formattedHeaders, $content);
Как уже упоминалось, этот сервер и приложение успешно отправляют тысячи писем.
ИТ-служба Mentone Grammar не сообщила о каких-либо проблемах с получением других писем.
Таким образом, я все время возвращаюсь к ошибке «Не маршрутизируемый адрес» в журнале exim4 и к отладочной информации, указывающей, что адрес маршрутизируемый. Я не могу избавиться от мысли, что есть какая-то проблема с конфигурацией Exim4, но только при получении почтового запроса из приложения PHP, это вопрос безопасности - я просто не знаю.
Кто-нибудь может указать мне правильное направление, пожалуйста?
Не уверен, возможно опечатка, но в одном случае у вас три mmm
(см. журналы exim4), а в другом - два mm
(см. свой тест маршрутизации и echo
test) в доменном имени:
mentonegrammmar.net (does not exist)
mentonegrammar.net (exists)
Дважды проверьте правильность доменного имени в своем PHP
применение.