php - 通过 aws ses 从 symfony 邮件程序发送电子邮件时出错
问题描述
我的适合发送电子邮件的控制器如下所示:
class MailerController extends AbstractController
{
/**
* @Route("/email")
*/
public function sendEmail(MailerInterface $mailer): Response
{
$email = (new Email())
->from('hello@example.com')
->to('you@example.com')
->subject('Time for Symfony Mailer!')
->text('Sending emails is fun again!')
$mailer->send($email);
// ...
}
}
访问后/email
我收到以下错误:
Failed to authenticate on SMTP server with username "XXX" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Symfony\Component\Mailer\Exception\TransportException: Expected response code "235" but got code "535", with message "535 Authentication Credentials Invalid"
我的邮件配置如下所示:
framework:
mailer:
dsn: 'smtp://XXX:YYY@email-smtp.eu-central-1.amazonaws.com:465'
我想补充一点,我 XXX 和 YYY 是从 这里获得的 AWS 凭证
解决方案
您可以通过安装新的库composer require symfony/amazon-mailer
并使用来修复它ses+api
但请确保对您的密钥中的任何特殊字符进行 urlencode。
例子:
ses+smtp://$AWS_MAILER_USER:$WS_MAILER_PASSWORD@default?region=eu-west-1
另一种选择是尝试使用async-aws/ses
包。
推荐阅读
- javascript - 如何在选择选项 Angular 9 处将数据从后端绑定到前端
- sql-server - 为什么 += 在 Sql Server 中只给出最后一条记录?
- javascript - React 子对象点击效果父的点击
- heroku - 从 mlab 切换到 mongodb-atlas 后的连接问题
- java - 如何通过 Gremlin 查询具有 OR 关系的多条边
- java - 从 Java 中的 AWS 参数存储中获取值
- r - 在 bookdown 菜单中未正确生成链接
- python - Python mayavi:如何在 3D 空间中的随机位置绘制球体
- python - 根据条件过滤 posgres 表
- android - 单元测试在调用演示者函数后出现 NullPointerException