我是Symfony3的新手,我需要发送一封电子邮件(使用gmail)。我正在使用localhost。我配置了 config_dev.yml
swiftmailer:
transport: gmail
host: smtp.gmail.com
port: 465
username: example@gmail.com
password: mypassword
和 parameters.yml 与
mailer_user: example@gmail.com
mailer_password: password
控制器
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('medicalguidesystem@gmail.com')
->setTo($email)
->setBody(
'You have been registered in MedicalGuide system as a doctor. Username: '.$user->getUsername().' Password: '. $user->getPassword()
)
;
$this->get('mailer')->send($message);
但它不会发送任何电子邮件。 有人可以帮帮我吗?也许我忘了什么,或做错了什么。电子邮件可以从localhost发送吗?
UPDATE 日志
Exception occurred while flushing email queue: Connection could not be established with host 127.0.0.1
答案 0 :(得分:0)
您收到的错误消息:
"无法与主机127.0.0.1和#34;
建立连接
表示Swiftmailer似乎认为它应该使用localhost(127.0.0.1)来发送邮件。
您的问题似乎是您指定的配置未被Swiftmailer组件读入。我的猜测是环境没有正确设置,所以你认为你在 dev ,但Symfony可能在不同的环境中运行。
您可以通过将Swiftmailer配置放在主配置文件中进行测试,如果可行,请按照Symfony configuration guide确保您的开发环境已设置属性并且您正在运行该应用程序那个环境(即使用http://localhost/app_dev.php..
)
另一个有用的资源:How to Organize Configuration Files