Конфигурация Symfony SwiftMailer для порта ретрансляции SMTP 587

Мой хостер предоставляет мне SMTP-сервер, который использует ретрансляцию через SMTP AUTH на порт 587 с STARTTLS. Поэтому я настроил свой файл parameters.yml следующим образом:

mailer_transport: smtp
mailer_host:  127.0.0.1
mailer_user: user
mailer_password: password
mailer_port: 587
mailer_encryption: tls

Я не уверен, что это правильная конфигурация. Я хочу отправлять электронные письма кому-то другому, используя этот код:

$message = \Swift_Message::newInstance()
           ->setSubject('A subject')
           ->setFrom($email)
           ->setTo($this->container->getParameter('contactemail'))
           ->setBody($content);

$this->get('mailer')->send($message);

К сожалению, это сообщение не будет отправлено. Я не знаю почему, потому что я мало знаю о конфигурации электронной почты, SMTP и тому подобном. Может ли кто-нибудь мне помочь и сказать, если я что-то неправильно настроил?


person tester    schedule 01.07.2013    source источник


Ответы (2)


Если ваш провайдер предоставляет smtp-сервер ...

smtp-сервер, скорее всего, не работает на том же сервере / локальном IP-адресе, что и ваше приложение Symfony.

mailer_host:  127.0.0. # <- change this to your provider's smtp server ip/hostname

Проверьте свои файлы журнала в app/logs/dev.log на наличие ошибок при отправке электронного письма.

person Nicolai Fröhlich    schedule 01.07.2013
comment
Мой провайдер подтвердил правильность моей конфигурации. сервер smtp находится на локальном хосте, поэтому 127.0.0.1. Также в dev.log нет ошибок или других выводов - почему? - person tester; 02.07.2013

Просто убедитесь, что имя пользователя в yaml - это полный адрес электронной почты, а не часть до @.

person Guillaume YAPI KOFFI    schedule 27.04.2015
comment
Это не совсем ответ на вопрос. Возможно, вы могли бы расширить ответ? - person Stewart_R; 28.04.2015