Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 4 SwiftMailer Gmail:未发送电子邮件_Php_Gmail_Swiftmailer_Symfony4 - Fatal编程技术网

Php Symfony 4 SwiftMailer Gmail:未发送电子邮件

Php Symfony 4 SwiftMailer Gmail:未发送电子邮件,php,gmail,swiftmailer,symfony4,Php,Gmail,Swiftmailer,Symfony4,我目前正在开发Symfony 4应用程序,我需要通过Swift Mailer发送电子邮件。 当我发送电子邮件时,我会收到假脱机的电子邮件,但我的Gmail邮箱中没有收到。 我允许在我的gmail配置中使用不安全的应用程序 这是来自.env文件的我的邮件URL:mailer\u URL=gmail://ep****@gmail.com:PASSWORD@localhost 这是我的swiftmailer.yaml: #config/packages/swiftmailer.yaml

我目前正在开发Symfony 4应用程序,我需要通过Swift Mailer发送电子邮件。 当我发送电子邮件时,我会收到假脱机的电子邮件,但我的Gmail邮箱中没有收到。 我允许在我的gmail配置中使用不安全的应用程序

这是来自.env文件的我的邮件URL:mailer\u URL=gmail://ep****@gmail.com:PASSWORD@localhost

这是我的swiftmailer.yaml:

    #config/packages/swiftmailer.yaml
    swiftmailer:
        url: '%env(MAILER_URL)%'
        spool: { type: 'memory' }
这是我的控制器功能:

src/Controller/AccountController.php

以下是我遵循的文档:

我检查了这些问题,但他们没有给我答案:

求你了,我需要帮助。我整天都在寻找解决办法。我没有收到任何错误,但我没有收到邮件。 提前谢谢。任何链接都可以帮助我。

问题已解决!! 放置此配置,而不是使用URL env变量

swiftmailer:
    transport:        gmail
    username:         ****@gmail.com
    password:         *******
    host:             localhost
    port:             465
    encryption:       ssl
    auth-mode:        login
    spool: { type: 'memory' }
    stream_options:
        ssl:
            allow_self_signed: true
            verify_peer: false
            verify_peer_name: false

邮件URL必须是URL编码的。请访问以下网址查看文档:

如果您的密码中有一些需要url编码的特殊字符,它将无法工作


希望有帮助。

晚会迟到了,但URL格式需要完全设置。我认为SwiftMailer不会解析URL来检测特定的传输(如
gmail
)来自行配置重置

以下格式适用于我:

MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&username=USERNAME&password=PASSWORD

根据我的经验,您需要在Google套件或Gmail帐户中启用“”,因为它们会阻止通过SMTP进行访问。

注释掉假脱机程序行

swiftmailer:
url: '%env(MAILER_URL)%'
#spool: { type: 'memory' }

请不要发布代码快照而不是代码本身。您是否设置了CRON作业来处理假脱机?是否尝试忽略假脱机配置设置?假脱机是一项要求吗?我没有设置它。我试着省略游泳池,但没有变化。我有同样的问题。你解决了吗@SalveSafariYes,我解决了:)请看下面的Merci!这就成功了。知道为什么.env文件不工作吗?我注意到从Symfony 3到Symfony 4的本地SMTP不再启用。在.env set MAILER\u URL中使用本地SMTP=smtp://localhost:25?encryption=&auth_mode=Sage 回答。省去了几个小时的挫折。谢谢你@Selve!非常感谢你,你帮了我很多:)