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

Странная фатальная ошибка Postfix

У меня три интернет-магазина Magento. Все электронные письма с заказами работают нормально, за исключением 7 писем, которые даже не были отправлены с веб-сервера. Изучив проблему, я обнаружил следующие журналы:

Журнал Magento:

2013-08-08T11:44:59+00:00 ERR (3): 
exception 'Zend_Mail_Transport_Exception' with message 'Unable to send mail. ' in /var/www/website.com/lib/Zend/Mail/Transport/Sendmail.php:137

Журнал Postifx:

Aug  8 12:44:59 bv-webserver postfix/sendmail[18647]: fatal: sales@website.com(33): No recipient addresses found in message header
Aug  8 12:44:59 bv-webserver postfix/postdrop[18648]: fatal: uid=33: malformed input

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

Я подумал, что это может быть проблема с ресурсами. Но я запускаю агент newrelic, и сервер загружается не более чем на 20% в часы пик (как память, так и процессоры).

Изменить: забыл упомянуть, я запускаю nginx с php-fpm.

postdrop [18648]: фатальный: uid = 33: неверный ввод

Этим все сказано: у вас 7 поврежденных электронных писем. У них, вероятно, есть перевод строки / возврат несущей, из-за чего заголовки заканчиваются слишком рано (возможно, до заголовка To :.).

Этот перевод строки может быть в начале адреса получателя (так что to: имеет значение null) или в любых предыдущих строках ввода пользователя. Этот перевод строки также может быть не виден во многих ситуациях (разделен, форма без полосы прокрутки, заменена пробелом на выходе и т. Д.), Поэтому ищите внимательно.

попробуйте проверить папки / var / spool / postfix / maildrop / на наличие плохих писем, он должен быть пустым, но попробуйте ...

вам, вероятно, нужно поставить постдроп в отладку, добавить -v в конце строки postdrop в master.cf

проверить справочная страница postdrop для получения дополнительной информации

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