Javamail无法连接到Postfix本地主机服务器

时间:2018-08-13 14:25:54

标签: java ubuntu javamail pam dovecot

我正在尝试使用javamail连接到本地postfix + dovecot服务器。 我已经使用Thunderbird成功连接到服务器,所以我知道用户名和密码正确,但是我总是得到

Javax.mail.AuthenticationFailedException: [AUTHENTICATIONFAILED] Authentication failed. 
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:661)
at javax.mail.Service.connect(Service.java:295)
at servers.MailEngine.initMailServer(MailEngine.java:661);

我唯一知道做的就是更改java.security以禁用一些不太安全的协议。鸽舍需要哪些协议?还是我看错了方向?

如果这是协议问题,有什么方法可以将参数传递给编译器?我还有其他我想避免支持禁用协议的服务

编辑:

Session emailSessionObj;
Store storeObj;
Properties props = new Properties();
props.put("mail.imap.host", 127.0.0.1);
props.put("mail.imap.port", 143);

emailSessionObj = Session.getDefaultInstance(props);
storeObj = emailSessionObj.getStore("imap");

storeObj.connect("127.0.0.1", 143, "username","password");

这是我使用的代码

这是调试输出

DEBUG: setDebug: JavaMail version 1.5.0-b01
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle]
DEBUG IMAP: mail.imap.fetchsize: 16384
DEBUG IMAP: mail.imap.ignorebodystructuresize: false
DEBUG IMAP: mail.imap.statuscachetimeout: 1000
DEBUG IMAP: mail.imap.appendbuffersize: -1
DEBUG IMAP: mail.imap.minidletime: 10
localhost : 143 : from@smsmail.pittsburgfoundry.com : smsmailpass:DEBUG IMAP: trying to connect to host "localhost", port 143, isSSL false
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot (Ubuntu) ready.
DEBUG IMAP: AUTH: PLAIN
DEBUG IMAP: protocolConnect login, host=localhost, user=from@smsmail.pittsburgfoundry.com, password=<non-null>
DEBUG IMAP: AUTHENTICATE PLAIN command trace suppressed
DEBUG IMAP: AUTHENTICATE PLAIN command result: A0 NO [AUTHENTICATIONFAILED] Authentication failed.

1 个答案:

答案 0 :(得分:0)

最后,它最终是过时的javamail和我的地图认证的一些问题的结合。

另一个问题是用户名输入为xxx@yyy.zzz 它只是想xxx。 来自dovecot和pam的调试消息过于模糊,以至于没有找到用户名,因此非常有用

相关问题