Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用我的Active Directory用户和密码通过IMAP with java访问邮件帐户?_Java_Email_Active Directory_Jakarta Mail_Imap - Fatal编程技术网

如何使用我的Active Directory用户和密码通过IMAP with java访问邮件帐户?

如何使用我的Active Directory用户和密码通过IMAP with java访问邮件帐户?,java,email,active-directory,jakarta-mail,imap,Java,Email,Active Directory,Jakarta Mail,Imap,我有一个要求,我需要用java开发一种方法,使用电子邮件帐户、网络用户名及其网络密码作为身份验证,通过IMAP访问exchange电子邮件(Outlook) 作为一个例子,我有以下几点: 电子邮件帐户:hello@company123.com 网络用户:User123 网络密码:Pass123 因此,我们的想法是设置一个类似于连接图的调用(“hello@company123.com“,”User123“,”Pass123“)用于阅读hello@company123.com电子邮件 我检查了从另一

我有一个要求,我需要用java开发一种方法,使用电子邮件帐户、网络用户名及其网络密码作为身份验证,通过IMAP访问exchange电子邮件(Outlook)

作为一个例子,我有以下几点:

电子邮件帐户:hello@company123.com

网络用户:User123

网络密码:Pass123

因此,我们的想法是设置一个类似于连接图的调用(“hello@company123.com“,”User123“,”Pass123“)用于阅读hello@company123.com电子邮件

我检查了从另一个问题()中提取的以下代码,但它只显示了如何使用电子邮件作为用户访问gmail帐户

public class GmailFetch {
    public static void main( String[] args ) throws Exception {
        Session session = Session.getDefaultInstance(new Properties( ));
        Store store = session.getStore("imaps");
        store.connect("imap.googlemail.com", 993, "username@gmail.com", "password");
        Folder inbox = store.getFolder( "INBOX" );
        inbox.open( Folder.READ_ONLY );

        // Fetch unseen messages from inbox folder
        Message[] messages = inbox.search(
            new FlagTerm(new Flags(Flags.Flag.SEEN), false));

        // Sort messages from recent to oldest
        Arrays.sort( messages, ( m1, m2 ) -> {
          try {
            return m2.getSentDate().compareTo( m1.getSentDate() );
          } catch ( MessagingException e ) {
            throw new RuntimeException( e );
          }
        } );

        for ( Message message : messages ) {
            System.out.println( 
              "sendDate: " + message.getSentDate()
              + " subject:" + message.getSubject() );
        }
     }
 }

你想做点什么,你找到了一些代码来做。问题是什么?您是否尝试过更改
存储。是否将
行连接到您的服务器信息?@arnt store.connect仅允许您将电子邮件帐户配置为用户,将电子邮件密码配置为密码,我需要使用网络凭据来执行此操作。考虑到网络用户可以有许多链接的电子邮件帐户,所以我需要一种方法(或另一种方式)来验证电子邮件帐户、网络用户和网络密码。@加布里埃卢克:是的。我已经试过了:store.connect(“imap.myserver.com”,993,”hello@company123.com“,”Pass123“,store.connect(“imap.myserver.com”,993,“User123”,“Pass123”);和store.connect(“imap.myserver.com”,993,”hello@company123.com“,“User123”,“Pass123”);这些工作听起来都不像是要配置IMAP服务器以允许使用这些密码进行访问。这是完全可能的,但不是一个编程问题,因此脱离主题。如果服务器配置正确,并且您的问题是如何使用它,则可能会有所帮助。