Java 邮件委托访问不适用于 Office 365
Java Mail Delegation Access not working for Office 365
如果您看到注释的代码行 store.connect...我正在尝试通过用户邮箱 [迁移到云] 访问共享邮箱,该邮箱对此共享邮箱具有委托访问权限。在 运行 上,我得到
javax.mail.AuthenticationFailedException: LOGIN failed.
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:715)
at javax.mail.Service.connect(Service.java:364)
at com.adecco.smpt.TestSSL.main(TestSSL.java:26)
如果我尝试访问用户邮箱而不是共享邮箱一切正常。是否有不同的语法来访问 JAVA 中的共享邮箱??提前致谢。
import java.util.Properties;
import javax.mail.*;
public class TestSSL {
public static void main(String[] args) {
Properties props = System.getProperties();
props.put("mail.imaps.auth.plain.disable", "true");
props.put("mail.smtp.ssl.enable", "true");
try {
Session session = Session.getInstance(props, null);
session.setDebug(true);
Store store = session.getStore("imaps");
store.connect("outlook.office365.com", 993, "office 365 username/alias name of shared MAILBOX", "PASSWORD");
System.out.println(store);
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);
Message messages[] = inbox.getMessages();
for (Message message : messages) {
System.out.println(message);
}
} catch (Exception e) {
e.printStackTrace();
System.exit(2);
}
}
}
首先,修复这些 common mistakes。
看起来 this article 有您需要的信息。
如果您看到注释的代码行 store.connect...我正在尝试通过用户邮箱 [迁移到云] 访问共享邮箱,该邮箱对此共享邮箱具有委托访问权限。在 运行 上,我得到
javax.mail.AuthenticationFailedException: LOGIN failed.
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:715)
at javax.mail.Service.connect(Service.java:364)
at com.adecco.smpt.TestSSL.main(TestSSL.java:26)
如果我尝试访问用户邮箱而不是共享邮箱一切正常。是否有不同的语法来访问 JAVA 中的共享邮箱??提前致谢。
import java.util.Properties;
import javax.mail.*;
public class TestSSL {
public static void main(String[] args) {
Properties props = System.getProperties();
props.put("mail.imaps.auth.plain.disable", "true");
props.put("mail.smtp.ssl.enable", "true");
try {
Session session = Session.getInstance(props, null);
session.setDebug(true);
Store store = session.getStore("imaps");
store.connect("outlook.office365.com", 993, "office 365 username/alias name of shared MAILBOX", "PASSWORD");
System.out.println(store);
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);
Message messages[] = inbox.getMessages();
for (Message message : messages) {
System.out.println(message);
}
} catch (Exception e) {
e.printStackTrace();
System.exit(2);
}
}
}
首先,修复这些 common mistakes。
看起来 this article 有您需要的信息。