代码之家  ›  专栏  ›  技术社区  ›  caleb baker

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

  •  0
  • caleb baker  · 技术社区  · 6 年前

    我正在尝试使用javamail连接到本地postfix+dovecot服务器。

    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以禁用一些不太安全的协议。dovecot需要什么协议?或者我看错方向了。

    编辑:

    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 回复  |  直到 6 年前
        1
  •  0
  •   caleb baker    6 年前

    最后,它变成了过时的javamail和我的map身份验证的一些问题的组合。

    另一个问题是用户名输入为xxx@yyy.zzz 它只想要xxx。