预期的响应代码为250,但代码为“ 550”,在SendGrid中显示消息“ 550未经身份验证的发件人不允许”

时间:2019-10-04 12:45:53

标签: php laravel email smtp sendgrid

请尝试在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未经授权的发件人”  “

请,我已经检查了其他问题,但似乎无法解决。我的缓存很清楚

2 个答案:

答案 0 :(得分:1)

我能够这样解决

serialize-javascript vulnerability found in yarn.lock

**Remediation**

Upgrade serialize-javascript to version 2.1.1 or later. 

我还添加了此选项,以在我的mail.php中强制本地SSL

  

请勿在生产中使用此

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

别忘了用sendgrid详细信息更新您的mail.php。

答案 1 :(得分:0)

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