Невозможно отправить электронное письмо из пользовательской команды Symfony2, но может из другого места в приложении
Я написал пользовательскую консольную команду для запроса к моей базе данных, создания отчета и отправки его по электронной почте; Однако я не могу успешно отправить электронное письмо. Я могу нормально отправлять электронную почту из обычных контроллеров в другое место моего приложения, а также отправлять ее из моей консоли, если я вручную создаю и настраиваю экземпляр Swift_Mailer и не получаю его через контейнер.
Вот урезанная версия моей консоли:
setName('report:expiry')
->setDescription('Compile and send e-mail listing imminent expiries');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
/* ... */
$message = \Swift_Message::newInstance()
->setSubject('Expiry report')
->setFrom('[email protected]')
->setTo('[email protected]')
->setBody($body);
$mailer = $this->getContainer()->get('mailer');
/* This works...
$transport = \Swift_SmtpTransport::newInstance('smtp.domain.com', 25)
->setUsername('username')
->setPassword('password');
$mailer = \Swift_Mailer::newInstance($transport);
*/
$result = $mailer->send($message);
$output->writeln($result);
}
}
Swiftmailer настроен для отправки через SMTP в моемapp/config/config.yml
файл (delivery_address: [email protected]
также установлен вapp/config/config_dev.yml
):
swiftmailer:
transport: smtp
host: smtp.domain.com
username: username
password: password
spool:
type: memory
При запуске команды она печатает1
в командной строке, что, как я полагаю, означает, что это было успешно. Однако я'я наблюдаю за моим почтовым серверомжурналы одновременно, и это 'даже не подключается.
Чтобы подтвердить, что моя конфигурация загружалась в почтовую программу, я изменил катушку сmemory
вfile
и сообщения передаются в файловую систему при запуске команды, и я могу успешно сбросить буфер в командной строке с помощью.php app/console swiftmailer:spool:send
У кого-нибудь есть идеи относительно того, что?здесь происходит, или есть какие-либо предложения относительно того, как я могу отладить это дальше? Ничего не появляется в моемapp/logs/dev.log
файл. Я'м с использованием Symfony 2.1.3-DEV.