【发布时间】:2011-05-02 22:03:40
【问题描述】:
我正在用 Perl 编写一个简单的邮件客户端,它使用 SMTP 登录邮件服务器,然后从那里将邮件发送到另一个电子邮件地址(在不同的主机上)。我使用原始 SMTP 命令,因为草莓 perl 不附带 SASL.pm,这是进行身份验证所需的。但是,当脚本尝试对自身进行身份验证时,它会失败。我尝试了“AUTH LOGIN”和“AUTH PLAIN”机制,但没有运气。这是一个例子:
EHLO example.com
AUTH LOGIN
YWxwaGE=
cGFzc3dvcmQ=
MAIL FROM:<alpha@example.com>
RCPT TO:<beta@betadomain.com>
DATA
Subject: sample message
From: alpha@example.com
To: beta@betadomain.com
Greetings,
Typed message (content)
Goodbye.
.
QUIT
EOT
"YWxwaGE=", "cGFzc3dvcmQ=" 是 Base64 编码的用户名和密码。无论我提交什么,服务器总是抱怨用户名或密码错误。我做错了什么?
【问题讨论】:
标签: perl authentication smtp