在其他答案的帮助下,我找到了以下解决方案,该解决方案适用于com.sun.mail:javax.mail:1.6.2
Properties props = new Properties();props.setProperty("mail.imaps.auth.mechanisms", "LOGIN");Session session = Session.getInstance(props);Store store = session.getStore("smtps");store.connect("outlook.office365.com", 993, "user@xyz.com\shared_account_alias", "user_password");使用javax.mail:mail:1.4.7,以下代码有效:
Properties props = new Properties();props.setProperty("mail.imaps.auth.plain.disable", "true");Session session = Session.getInstance(props);Store store = session.getStore("smtps");store.connect("outlook.office365.com", 993, "user@xyz.com\shared_account_alias", "user_password");shared_account_alias不是电子邮件地址。
最终,我找到了一种访问共享邮箱的更标准的方法:
Properties props = new Properties();props.setProperty("mail.imaps.sasl.enable", "true");props.setProperty("mail.imaps.sasl.authorizationid", "shared_account_alias");Session session = Session.getInstance(props);Store store = session.getStore("smtps");store.connect("outlook.office365.com", 993, "user@xyz.com", "user_password");


