【问题标题】:Symfony 4 SwiftMailer Gmail : Email not sentSymfony 4 SwiftMailer Gmail:未发送电子邮件
【发布时间】:2018-02-21 21:09:20
【问题描述】:

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

这是我来自 .env 文件的邮件 URL:MAILER_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

这是我遵循的文档: http://symfony.com/doc/current/email.html

我已经检查了这些问题,但他们没有给我答案:How to send emails with Symfony 4 Swiftmailer from a local machine running on Windows 10?mailer symfony 4 not working

拜托,我需要帮助。我整天都在寻找解决方案。我没有收到任何错误,但我没有收到邮件。 提前致谢。任何链接都可以帮助我。

【问题讨论】:

  • 请不要发布代码快照而不是代码本身
  • 您是否设置了 CRON 作业来处理假脱机?您是否尝试省略假脱机配置设置?假脱机是一项要求吗?
  • 我没有设置。我尝试省略游泳池,但没有任何变化。
  • 我也有同样的问题。你解决了吗? @SalveSafari
  • 是的,我解决了 :) 请阅读以下内容

标签: php gmail swiftmailer symfony4


【解决方案1】:

问题解决了!! 放置此配置而不是使用 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

【讨论】:

  • 谢谢!这就成功了。知道为什么 .env 文件不起作用吗?
  • 我注意到从 Symfony 3 到 Symfony 4 的本地 SMTP 不再启用。要在 .env 中使用本地 SMTP,请设置 MAILER_URL=smtp://localhost:25?encryption=&auth_mode=
  • 贤者回答。节省了数小时的挫败感。谢谢@Selve!
【解决方案2】:

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

以下格式对我有用:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      注释掉假脱机线

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

      【讨论】:

      • 非常感谢你帮了我很多:)
      【解决方案5】:

      MAILER_URL 必须经过 url 编码。在以下位置查看文档: https://symfony.com/doc/current/email.html#configuration

      如果您的密码中有一些特殊字符,需要进行 url 编码,则无法使用。

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2015-04-16
        • 1970-01-01
        • 2019-10-05
        • 1970-01-01
        • 1970-01-01
        • 2016-02-23
        • 2023-03-08
        • 2018-04-03
        • 1970-01-01
        相关资源
        最近更新 更多