Php Symfony 3-Swiftmailer不发送电子邮件

Php Symfony 3-Swiftmailer不发送电子邮件,php,symfony,swiftmailer,symfony-3.4,Php,Symfony,Swiftmailer,Symfony 3.4,我正在尝试在用户提交表单后使用SwiftMailer(版本=Swift-5.4.8)发送电子邮件。我无法确定为什么没有发送电子邮件。我只尝试过使用gmail设置,因为我听说它最容易使用(我是web开发人员的新手) 我已尝试更改config.yml、parameters.yml parameters.yml: config.yml(相关片段,如果需要其他部分,请lmk) 默认控制器 视图和窗体已正确渲染。似乎表单提交正确,但我从未收到电子邮件。对于web开发人员来说,还是一个新手,任何建议都非常感

我正在尝试在用户提交表单后使用SwiftMailer(版本=Swift-5.4.8)发送电子邮件。我无法确定为什么没有发送电子邮件。我只尝试过使用gmail设置,因为我听说它最容易使用(我是web开发人员的新手)

我已尝试更改config.yml、parameters.yml

parameters.yml: config.yml(相关片段,如果需要其他部分,请lmk) 默认控制器 视图和窗体已正确渲染。似乎表单提交正确,但我从未收到电子邮件。对于web开发人员来说,还是一个新手,任何建议都非常感谢

编辑:我能够使用命令提示符和“php bin\console swiftmailer:email:send”命令成功配置并发送电子邮件。问题是它使用了一个dev_配置文件,这是一个愚蠢的错误。但是,当我仍然填写表单并单击“发送”按钮时,不会发送电子邮件。仅使用上述命令。有什么见解吗


EDIT2:第一次编辑的解决方案正在运行“composer update”。。。。很好…

尝试使用tls加密和smtp传输协议。 您的config.yml与此类似:

# Swiftmailer Configuration
swiftmailer:
    transport: 'smtp'
    host: 'smtp.gmail.com'
    username: 'myemail@gmail.com'
    password: 'mypass'
    encryption: tls
    auth_mode: login

而且,您必须激活对不太安全的应用程序的访问,并在您的gmail帐户中禁用两步身份验证。

尝试使用tls加密和smtp传输协议。 您的config.yml与此类似:

# Swiftmailer Configuration
swiftmailer:
    transport: 'smtp'
    host: 'smtp.gmail.com'
    username: 'myemail@gmail.com'
    password: 'mypass'
    encryption: tls
    auth_mode: login

此外,您必须激活对不太安全的应用程序的访问,并在您的gmail帐户中禁用两步身份验证。

在Symfony上使用gmail发送邮件的最佳做法如中所述

但为此,您需要在应用程序中加载环境变量,我不知道这是您的情况

下面的方法应该有效。将您的
config.yml
更新为

swiftmailer:
    url: 'gmail://%mailer_user%:%mailer_password%@localhost?encryption=tls&auth_mode=oauth'
    spool: { type: 'memory' }
另一个建议是在发送邮件之前检查您的表格是否有效。否则,如果来自的
null


如果它不起作用,请告诉我。

在Symfony上使用gmail发送邮件的最佳做法如中所述

但为此,您需要在应用程序中加载环境变量,我不知道这是您的情况

下面的方法应该有效。将您的
config.yml
更新为

swiftmailer:
    url: 'gmail://%mailer_user%:%mailer_password%@localhost?encryption=tls&auth_mode=oauth'
    spool: { type: 'memory' }
另一个建议是在发送邮件之前检查您的表格是否有效。否则,如果来自的
null


如果它不起作用,请告诉我

我按照指示更新了config.yml,但没有成功。出于调试的目的,我删除了isValid()部分,但是看起来不错。我想知道localhost是否是罪魁祸首。如果我弄明白了,我会更新的。谢谢。是的,它目前正在启用。我更新了config.yml,但没有成功。出于调试的目的,我删除了isValid()部分,但是看起来不错。我想知道localhost是否是罪魁祸首。如果我弄明白了,我会更新的。谢谢你是的,它当前已启用您是否设置了您的gmail帐户?是的,电子邮件帐户是在一段时间后创建的您是否设置了您的gmail帐户?是的,电子邮件帐户是在一段时间后创建的gmail传输类型为您设置了所有内容,因此您的配置不必要地复杂。gmail传输类型为您设置了所有内容,因此您的配置非常简单不必要的复杂。
swiftmailer:
    url: 'gmail://%mailer_user%:%mailer_password%@localhost?encryption=tls&auth_mode=oauth'
    spool: { type: 'memory' }
if ($form->isSubmitted() && $form->isValid()){ ... }