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