【问题标题】:Failed to authenticate on SMTP server with username "apikey"使用用户名“apikey”在 SMTP 服务器上进行身份验证失败
【发布时间】:2020-03-10 18:45:37
【问题描述】:

当我尝试在 laravel 6 中通过 sendgrid 发送邮件时出现此错误:

Failed to authenticate on SMTP server with username "apikey" using 2 possible authenticators. Authenticator LOGIN returned Expected response code 250

我的 .env:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=***** (my key copied from sendgrid)
MAIL_ENCRYPTION=tls

【问题讨论】:

    标签: laravel email sendgrid


    【解决方案1】:

    在我的情况下,我只需要在 SendGrid 上将我的服务器的公共 IP 地址列入白名单。

    【讨论】:

      【解决方案2】:

      如果您最近刚刚编辑了 .env 文件,则更改不会应用于配置。

      php artisan serve 上运行时,退出服务器并重新启动它。配置应该会自动更新。

      我正在运行 xampp server on development,在我的情况下,我需要在控制台中执行以下命令以将更改应用于配置:

      php artisan config:clear
      php artisan config:cache
      

      无需更改端口,我的 .env 设置是一样的:

      MAIL_MAILER=smtp
      MAIL_HOST=smtp.sendgrid.net
      MAIL_PORT=587
      MAIL_USERNAME=apikey
      MAIL_PASSWORD=<your api key from sendgrid>
      MAIL_ENCRYPTION=tls
      

      我省略了MAIL_FROM_ADDRESSMAIL_FROM_NAME,因为我的目的是我们公司的网站联系表,我希望邮件发件人和电子邮件是客人或客户的电子邮件

      如果您希望始终从同一封电子邮件发送,请填充这些变量。

      这是 sendgrid 使用 Laravel 可邮寄的官方文档 https://sendgrid.com/docs/for-developers/sending-email/laravel/

      【讨论】:

        【解决方案3】:

        在解决此问题 28 小时后,解决方案将端口更改为 2525,现在可以正常工作。您无需更改或编码 base64。

        使用以下设置。

        MAIL_MAILER=smtp
        MAIL_HOST=smtp.sendgrid.net
        MAIL_PORT=2525
        MAIL_USERNAME=apikey
        MAIL_PASSWORD=sendgrid_apikey
        MAIL_ENCRYPTION=tls
        MAIL_FROM_ADDRESS=noreply@example.com
        MAIL_FROM_NAME="${APP_NAME}"
        

        【讨论】:

          【解决方案4】:

          我遇到了同样的问题,我通过在 Base64 中编码 APIKEY 解决了这个问题。

          这里还有一点帮助:https://sendgrid.com/docs/API_Reference/SMTP_API/getting_started_smtp.html#-Sending-a-test-SMTP-email-with-Telnet

          【讨论】:

          • 您能否告诉我您编码了哪个 APIKEY。当我们登录到 sendgrid 并转到“设置-> Api Keys”时,我们有一个“创建 Api 密钥”选项,当我们点击它时会询问 api 密钥名称。 **那么您是否对该名称或其他字段进行了编码。 ** 收到评论后请告诉我。
          • 用base64编码你的api键值并设置为密码
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-12-14
          • 2020-12-21
          • 2020-06-11
          • 2019-03-11
          • 2016-02-29
          • 2012-06-16
          • 2021-06-11
          相关资源
          最近更新 更多