我真的很难弄清楚这一点。我最近开始了一个新的Laravel 7项目,而我确实在努力使SendGrid SMTP Relay与该项目一起正常工作。
我已经查看了StackOverflow,SendGrid文档和Google的所有内容,但我仍在努力寻找可行的解决方案。
我的.ENV文件:
<input type="hidden" name="color_id" value="{{somecolorid}}">
我的config / mail.php文件:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD={{apikey from SendGrid}}
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="${APP_NAME}"
MAIL_FROM_ADDRESS=no-reply@galacticdigital.co.za
预期的响应代码为250,但得到的代码为“ 550”,并显示消息“ 550不允许未经身份验证的发件人”
即使运行,我仍然会收到此错误: PHP的工匠缓存:清除 php artisan config:cache
请问有人可以帮助我了解这里的情况以及如何解决。我仍在忙于学习Laravel,但我并不是最擅长使用它。
答案 0 :(得分:0)
您正在请求名为apikey
和{{apikey from SendGrid}}
的ENV常量。
它们是值而不是名称。因此在ENV文件中找不到它们。
更正以下几行:
[
// .....
'username' => env('apikey'),
'password' => env('{{apikey from SendGrid}}'),
// .....
]
收件人
[
// .....
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
// .....
]
并确保ENV文件中的API凭据正确。