我正在努力与Symfony2通过SwiftMailer发送电子邮件(在localhost上工作)。我搜索了stackoverflow上的文档和不同帖子的配置,我设法应用了不会产生任何错误但消息没有进入收件箱的配置。请快速浏览一下,可能缺少一些小东西:
parameters.yml
mailer_transport: gmail
mailer_host: ~
mailer_user: mark.twain3445@gmail.com
mailer_password: Testing1
config_dev.yml
swiftmailer:
transport: gmail
username: mark.twain3445@gmail.com
password: Testing1
控制器中的:
public function sendMail(Request $request)
{
$defaultData = array('name' => '', 'email' => '', 'subject' => '', 'message' => '');
$form = $this->createFormBuilder($defaultData)
->add('name', 'text')
->add('email', 'email')
->add('subject', 'text')
->add('message', 'textarea')
->add('submit', 'submit', array('label' => 'Send'))
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
$name = $form['name']->getData();
$email = $form['email']->getData();
$subject = $form['subject']->getData();
$message_mail = $form['message']->getData();
var_dump($name);
$mailer = $this->get('mailer');
$message = $mailer->createMessage()
->setSubject($subject)
->setFrom($email)
->setTo('mark.twain3445@gmail.com')
->setBody($message_mail);
$mailer->send($message);
}
}
答案 0 :(得分:2)
查看您的Gmail帐户,您可以找到一封邮件,说明您的远程服务器导致了一些可疑活动,更改了安全设置,它应该可以正常工作。
要更改此设置,请转到https://www.google.com/settings/security/lesssecureapps并为不太安全的应用启用Access
答案 1 :(得分:0)
您应该继续使用您的Gmail帐户激活远程访问。
另外,请确认您的配置中没有此功能:
disable_delivery:true
在开发阶段,您可以在配置中添加:
swiftmailer: delivery_address:dev@example.com
所以无论你设置为TO,所有邮件都会被发送到dev@exemple.com。