【问题标题】:Expected response code 250 but got code "550", with message "550 Unauthenticated senders not allowed " in SendGrid预期响应代码为 250,但得到代码“550”,在 SendGrid 中显示消息“550 Unauthenticated senders not allowed”
【发布时间】:2019-10-04 12:45:53
【问题描述】:

请我尝试在我的 laravel 应用程序上发送验证电子邮件,它可以与 mailtrap 一起使用,但我无法发送到用户电子邮件,所以我想使用 sendgrid

这是我的 .env 文件中的详细信息

MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587   
MAIL_USERNAME=sendgridlogin
MAIL_PASSWORD=sendgridpassword
MAIL_ENCRYPTION=tls

在我的邮件配置文件中,我有这个

<?php

return [

    'driver' => env('MAIL_DRIVER', 'sendgrid'),

    'host' => env('MAIL_HOST', 'smtp.sendgrid.net'),

    'port' => env('MAIL_PORT', 587),
    'from' => [
        'address' => env('MAIL_FROM_ADDRESS', 'example@gmail.com'),
        'name' => env('MAIL_FROM_NAME', 'Example'),
    ],

    'encryption' => env('MAIL_ENCRYPTION', 'tls'),

    'username' => env('sendgridlogin'),

    'password' => env('sendgridpassword'),

.
.

但它返回错误

预期响应代码为 250,但得到代码“550”,消息“550 不允许未经身份验证的发件人” "

拜托,我检查了其他问题,我似乎无法弄清楚。我有清除缓存

【问题讨论】:

标签: php laravel email smtp sendgrid


【解决方案1】:

我可以这样解决它

MAIL_DRIVER=smtp
SENDGRID_API_KEY='YOUR APIKEY'
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=yoursendgridusername
MAIL_PASSWORD=yoursendgridpassword
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=xxx@gmail.com
MAIL_FROM_NAME=myname

我还在我的 mail.php 中添加了这个以在本地强制 SSL

不要在生产中使用它

'stream' => [
        'ssl' => [
           'allow_self_signed' => true,
           'verify_peer' => false,
           'verify_peer_name' => false,
        ],
     ], 

不要忘记使用 sendgrid 详细信息更新您的 mail.php。

【讨论】:

    【解决方案2】:

    “不允许未经身份验证的发件人”错误明确表示您没有尝试在 SendGrid 环境中进行身份验证。因此,即使您定义了您的用户名和密码,您的连接实际上并没有通过 SMTP 事务的AUTH LOGIN 步骤发送。

    【讨论】:

      猜你喜欢
      • 2020-11-15
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 2022-12-30
      • 1970-01-01
      • 2018-09-10
      • 2022-01-25
      • 2015-09-16
      相关资源
      最近更新 更多