我正在尝试通过 AWS 的 SES 服务从 ubuntu 客户端发送邮件。我正在关注本教程。我一直到我实际发送邮件的部分。我已经两次和三次检查我使用的是 SES 生成的凭据,而不是 IAM。我已经双重和三重检查我正在使用根据教程说明创建的这些凭据的 base64 编码字符串。我没有使用配置集,并且已从我的测试电子邮件文件副本中删除了该行。
这是我看到的输出:
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 CN = email-smtp.us-east-1.amazonaws.com
verify return:1
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-EUWQVEJ8B EQFr3e36SskrySJu5nG9
250-email-smtp.amazonaws.com
250-8BITMIME
250-AUTH PLAIN LOGIN
250 Ok
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
535 Authentication Credentials Invalid
530 Authentication required
503 Error: need MAIL command
503 Error: need MAIL command
500 Error: command not implemented
500 Error: command not implemented
500 Error: command not implemented
500 Error: bad syntax
500 Error: command not implemented
500 Error: bad syntax
221 Bye
亚马逊关于错误代码的注释只告诉我 530 和 535 是什么。对于 535,它显示“您用于发送电子邮件的应用程序未向 Amazon SES 提供正确的 SMTP 凭证。请注意,您的 SMTP 凭证与您的 AWS 凭证不同。有关更多信息,请参阅获取您的 Amazon SES SMTP证书。” 如果您不知道凭据无效意味着什么。我认为发生 530 是因为凭据无效。
谁能告诉我334代码是什么?我怀疑答案可能就在这里:
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
起初我以为这些可能是我的 Base64 编码字符串的开头,但它们不匹配。我已经尝试过使用不同用户名和密码的各种 smtp 用户,这两个字符串总是相同的。
否则,如果有人知道可能导致此身份验证失败的原因,我们将不胜感激。
我在使用我的 macbook 通过 base64 对用户 + 密码进行编码时遇到问题。总是和你一样被困在同一条线上。然后我使用 amazon linux vm 对它们进行编码,这很有效。
除此之外: