我想通过使用Symfony 3.1和SwiftMailer发送测试电子邮件,但它不起作用。我正在阅读其他解决方案,但它仍然无效。
Config.yml:
swiftmailer:
transport: %mailer_transport%
encryption: %mailer_encryption%
auth_mode: %mailer_auth_mode%
host: %mailer_host%
username: %mailer_user%
password: %mailer_password%
spool: { type: memory }
Parameters.yml
mailer_transport: smtp
mailer_encryption: ssl
mailer_auth_mode: login
mailer_host: smtp.gmail.com
mailer_user: user@gmail.com
mailer_password: mypass
Parameters.yml v.2我正在尝试:
mailer_transport: gmail
mailer_encryption: ssl
mailer_auth_mode: login
mailer_host: smtp.gmail.com
mailer_user: user@gmail.com
mailer_password: mypass
控制器:
public function contactAction(Request $request)
{
$name = $request->request->get('name');
$surname = $request->request->get('surname');
$email = $request->request->get('email');
$subject = $request->request->get('subject');
$message = $request->request->get('message');
$data = "";
if($request->request->get('contact_submit')){
$message = \Swift_Message::newInstance()
->setSubject($subject)
->setFrom($email)
->setTo('myemail@gmail.com')
->setBody($message);
$this->get('mailer')->send($message);
$data = "Thank you: $name";
}
return $this->render('przedszkole/contact.html.twig', array('data' => $data));
}
所以点击提交后,我的视图会更改并显示给我:谢谢$ name,但我没有收到任何电子邮件:/
我改变了我的gmail电子邮件的安全性lvl,就像有人在其他解决方案中说的那样,但它对我没有帮助:/
我还取消注释swiftmailer:config_dev.yml中的delivery_adress。
我将不胜感激任何帮助:/
答案 0 :(得分:0)
如何使用(仅)以下YML配置:
mailer_transport: gmail
mailer_user: user@gmail.com
mailer_password: mypass
我读到有些默认设置你不需要为gmail设置,也许是因为你正在设置,它有一定的效果。我不确定这是否能解决问题,但您可以尝试一下。
答案 1 :(得分:0)
我猜问题可能是电子邮件进入假脱机队列。这也是我和别人见过的。您可以使用以下方法明确禁用它:
spool:
enabled: false
答案 2 :(得分:0)
我有机会调试你的代码,我得到的是你需要更改这两行
->setFrom($email)
->setTo('myemail@gmail.com')
作为
->setFrom('myemail@gmail.com')
->setTo($email)
setFrom()
将包含您的电子邮件ID,setTo()
将包含收件人ID。