我正在尝试在Amazon EC2 linux服务器上使用Amazon SES。我尝试了所有内容,我已经按照所有教程进行操作,但我无法在我的应用程序中使用Amazon SES中的SMTP。
错误: SMTP错误:无法进行身份验证。 SMTP错误消息:SMTP - > FROM SERVER:220 email-smtp.amazonaws.com ESMTP SimpleEmailService-222567251 SMTP - >从服务器:250-email-smtp.amazonaws.com 250-8BITMIME 250-SIZE 10485760 250-STARTTLS 250-AUTH PLAIN LOGIN 250 Ok SMTP - >错误:服务器不接受AUTH:530必须首先发出STARTTLS命令 SMTP - >来自服务器:250好的 SMTP错误:无法进行身份验证。
答案 0 :(得分:1)
您可以使用telnet建立连接吗?
这个帖子有很多建议: https://forums.aws.amazon.com/message.jspa?messageID=301767
有关SSL和TLS的术语有时会在第三方文档中以不一致或混淆的方式使用。我相信您遇到的问题与这些库的功能集有关,而不是SSL和TLS工作方式之间的差异。建立安全连接的两种不同方式包括STARTTLS和握手协议。
STARTTLS为文本协议(SMTP,IMAP,POP3等)提供了一种在现有已建立的纯文本连接中使用TLS / SSL协商安全连接的方法。
握手协议(又名包装模式)支持建立TLS / SSL连接,这些连接在应用程序协议开始之前得到保护。 Amazon SES SMTP接口当前需要握手协议,不支持STARTTLS。我们支持SSL 3.0和TLS 1.0。
SSL和TLS规范是有关握手协议的更多信息的良好来源: •SSL 3.0规范(RFC 6101) •TLS 1.0规范(RFC 2246) Net :: SMTP :: SSL的文档声称它支持使用SSL的握手协议,而Net :: SMTP :: TLS建议它仅支持STARTTLS而不支持TLS握手协议。我相信图书馆缺乏对握手协议的支持,这就解释了为什么它不适合你。