【发布时间】:2019-10-05 00:23:39
【问题描述】:
我正在尝试在用户提交表单后使用 SwiftMailer(版本 = Swift-5.4.8)发送电子邮件。我无法确定未发送电子邮件的原因。我只尝试过使用 gmail 设置,因为我听说它最容易使用(我是网络开发新手)。
我已尝试更改 config.yml、parameters.yml
parameters.yml:
parameters:
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: null
mailer_transport: gmail
mailer_encryption: ssl
mailer_auth_mode: login
mailer_host: smtp.gmail.com
mailer_user: myemail@gmail.com
mailer_password: mypass
secret: mysecret
config.yml(相关sn-p,需要其他部分请lmk)
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
默认控制器
$form = $this->createFormBuilder()
->add('from', EmailType::class)
->add('message', TextareaType::class)
->add('send',SubmitType::class)
->getForm()
;
if ($form->isSubmitted()){
$data = $form->getData();
$message = \Swift_Message::newInstance()
->setSubject('Join Our Team Request')
->setFrom($data['from'])
->setTo('myemail2@gmail.com')
->setBody(
$data['message'],'text/plain'
)
;
$this->get('mailer')->send($message);
}
return $this->render('xxx.html.twig', array("title" => "...","join_team_form" =>$form->createView()));
视图和表单正确呈现。看来表单提交正确,但我从未收到电子邮件。再次成为网络开发新手,欢迎提出任何建议。
编辑:我能够使用命令提示符和“php bin\console swiftmailer:email:send”命令成功配置和发送电子邮件。问题是它使用了一个 dev_config 文件,愚蠢的错误。但是,当我仍然填写表格并单击发送按钮时,没有发送任何电子邮件。仅使用上述命令。有什么见解吗?
EDIT2:第一个 EDIT 的解决方案是运行“composer update”......很好......
【问题讨论】:
-
您是否设置了您的 gmail 帐户?
-
是的电子邮件帐户是不久前创建的
标签: php symfony swiftmailer symfony-3.4