使用Apache Commons Net登录SMTP服务器



我正在尝试开发一个Android应用程序,该应用程序从用户那里获取用户名和密码,并根据电子邮件服务器检查他/她的凭据。我只需要将用户名和密码组合发送到电子邮件服务器,如果服务器接受,那么我的应用程序将认为该用户已通过身份验证。

我试过使用Javamail,但显然它与dalvik不兼容。有人建议我尝试使用Apache Commons,但我不知道如何让它做我需要的事情。

如果有人有任何想法,我非常感谢您的帮助!

顺便说一下,我正在连接的服务器使用IMAP/SMTP。

更新:这是我用来连接的代码

client = new AuthenticatingSMTPClient();
client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true));
client.connect(HOST, PORT);
client.login();
client.execTLS();
client.auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN,user,pword);

服务器的回复是:

220 pod51000.outlook.com Microsoft ESMTP MAIL Service ready at Thu, 14 Feb 2013    18:52:33 +0000
HELO 10.71.12.99
250 pod51000.outlook.com Hello [66.76.192.214]
STARTTLS
220 2.0.0 SMTP server ready
AUTH PLAIN
503 5.5.2 Send hello first

我以前从未做过这样的事情,所以我只需要一些指导,比如如何发送"Hello",服务器还需要什么,等等。

解决了它!在身份验证之前添加了一个client.helo(),它可以很好地工作

最新更新