2010-12-06 2 views
4

Я пытаюсь отправить по электронной почте с помощью Swift_SmtpTransport, но я получаю следующее сообщение об ошибке:Swiftmailer SMTP транспорт отвергая локальный IP-адрес

501 5.5.2 < [:: 1]>: команда Helo отвергнуто: Недопустимые IP-адрес

сервер SMTP является удаленным сервером, и он работает от моего производственного сервера, но не от моей машины развития, который работает под управлением OS X.

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

Что я могу сделать, чтобы использовать настоящий IP-адрес?

ответ

4

Я сделал несколько ковычек в коде и нашел его.

При настройке транспорта SMTP вам необходимо вызвать setLocalDomain(). Используя PHP в OS X, это значение по умолчанию равно «:: 1», которое отклоняется удаленным сервером. Я просто добавил строку в моей конфигурации разработки, чтобы установить, что:

$transport = Swift_SmtpTransport::newInstance('mail.pantsburger.com', 587); 
if (SITE_ENV == SITE_ENV_DEV) { 
    $transport->setLocalDomain('[127.0.0.1]'); 
} 

Я думаю, что это тоже ошибка с Swiftmailer - это действительно должно бросать исключение что-то вроде этого, а не просто список адресатов как «не удалось».