在使用AWS SES时,我认为我有两种选择来发送邮件。Java是我使用的编程语言:
- 使用Amazon SES客户端库
- 使用SMTP发送邮件(可能使用Java邮件API(
但我猜亚马逊SES客户端库没有使用SMTP——我猜它使用HTTPS从我的机器到邮件服务器的通信。
还是它是另一个构建在Java SMTP库之上的层,以便于配置?
我之所以问这个问题,是因为当我使用上面的选项#1时,我无法配置SMTP端口等。
你能帮我理解其中的区别吗?提前谢谢。
你是对的,你可以同时选择发送电子邮件。
选项1使用SES API,该API可通过HTTPS获得。所以它与SMTP协议无关
您具有相同的功能,但您将使用SES API,而不是使用SMTP协议。
由于它是AWS API,您需要提供凭证才能使用它。
Java示例:
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-sdk-java.html
Amazon SES SMTP端点要求使用传输层安全性(TLS(对所有连接进行加密。
关于选项2,必须使用TLS,因此每种类型的TLS选项都有自己的可用端口。
STARTTLS端口:25、587或2587
SMTPS端口:465或2465
使用身份验证也是强制性的。
所以SMTP客户端必须支持TLS(STARTTLS或SMTPS(和身份验证。
文档:
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html
使用STARTTLS的Java示例:
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-smtp-java.html
如果您在没有Internet GW的专用网络中运行,则需要SMTP,因为SES没有VPC接口端点。有一个功能请求打开,带有AWS,但没有ETA