问题描述
我正在探索AWS Simple Email Service(SES),我想发送电子邮件,也许要检查某个域是否经过验证,但是不使用官方的PHP SDK。
为什么?因为我认为对于一个简单的请求而言,在vendor
文件夹中添加了太多代码。
但是,这似乎并不简单。请注意,我正在使用us-east-1
区域。
这是示例代码:
$response = Http::withBasicAuth('foo','bar')
->post('https://email.us-east-1.amazonaws.com');
$response->throw();
这是有关Guzzle的Laravel包装的摘要,但是最终的实现在这里并不是那么重要。我在说更多关于理论方面的问题。当然,代码不起作用。它实际上给了我200
状态代码,这看起来很奇怪,因为它应该给我一个验证错误或授权错误。
我注意到AWS SES要求在请求中加上某种签名,而且我不确定它使用哪种身份验证方法。
有人知道如何实现吗?
谢谢!
解决方法
如果您使用SES提供的SMTP选项而不是默认/原始SES选项,则根本不需要使用AWS开发工具包-实际上,它只是您已在使用的任何SMTP服务器的直接替代品-应该就像更改配置一样简单。
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html