我正在尝试使用Amazon SES驱动程序在Laravel中发送电子邮件,但不断收到此错误: “local.ERROR:异常'Swift_TransportException',带有消息'预期响应代码250,但得到代码”530“,消息”530需要验证 “'in /***/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:383” 在mail.php中,驱动程序是'ses',在服务中我设置了密钥,密钥和区域。还检查.env以使所有数据匹配,但仍然收到此错误。我知道这不是在亚马逊方面,因为我们有相同的帐户在另一个脚本中发送电子邮件,所以我确定在Laravel中有一些错误的配置,我只是不知道在哪里看...帮助?< / p>
答案 0 :(得分:1)
您是否添加了所有必需的配置?
.env文件:
MAIL_DRIVER=smtp
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=**********USERNAME**********
MAIL_PASSWORD=**********PASSWORD**********
MAIL_ENCRYPTION=tls
至少,此类配置适用于Laravel 5.1
答案 1 :(得分:0)
检查config / mail.php
return [
'driver' => env('MAIL_DRIVER', 'ses'),
'host' => env('MAIL_HOST', ''),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => null, 'name' => null],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME', ''),
'password' => env('MAIL_PASSWORD', ''),
'sendmail' => '/usr/sbin/sendmail -bs',
];
确保.env文件具有以下内容
MAIL_DRIVER=smtp
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com // hosting site
MAIL_PORT=587
MAIL_USERNAME=your username
MAIL_PASSWORD=your password
MAIL_ENCRYPTION=tls
同时清除配置缓存
php artisan config:cache
答案 2 :(得分:0)
用于 aws/aws-sdk-php 的 Laravel 8、AWS 3.178
.env 应该是这样的
#MAIL_MAILER=smtp
#MAIL_HOST=mailhog
#MAIL_PORT=1025
#MAIL_USERNAME=null
#MAIL_PASSWORD=null
#MAIL_ENCRYPTION=null
#MAIL_FROM_ADDRESS=null
#MAIL_FROM_NAME="${APP_NAME}"
MAIL_MAILER=ses
MAIL_HOST=email-smtp.ap-southeast-1.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
AWS_ACCESS_KEY_ID=yourkey
AWS_SECRET_ACCESS_KEY=yoursecreaccesskey
AWS_DEFAULT_REGION=ap-southeast-1
AWS_BUCKET=
注意第一行不是MAIL_DRIVER=ses
,而是MAIL_MAILER=ses