Verbinden met Exchange Server

Om verbinding te maken met Exchange-servers 2007, 2010 en 2013 via Exchange Web Service, biedt Aspose.Email de IEWSClient interface die de EWSClient klasse. De EWSClient.getEWSClient methode instantieert en retourneert een IEWSClient object dat verder wordt gebruikt om bewerkingen uit te voeren gerelateerd aan een Exchange-mailbox en andere mappen. Dit artikel toont hoe objecten van IEWSClient.

Verbinden met Exchange Server via EWS

Het volgende codefragment toont hoe je verbinding maakt met Exchange Web Service (EWS).

private static IEWSClient getExchangeEWSClient() {
    final String mailboxUri = "https://outlook.office365.com/ews/exchange.asmx";
    final String domain = "";
    final String username = "username@onmicrosoft.com";
    final String password = "password";
    NetworkCredential credentials = new NetworkCredential(username, password, domain);
    IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
    return client;
}

Verbinden met Exchange Server via IMAP

Microsoft Exchange Server ondersteunt het IMAP-protocol voor het benaderen van items in een mailbox. Gebruik Aspose.Email’s ImapClient klasse om verbinding te maken met de Exchange Server via het IMAP-protocol. Voor meer informatie over de ImapClient klasse. Zorg er eerst voor dat IMAP-services zijn ingeschakeld voor je Exchange Server:

  1. Open het Configuratiescherm.
  2. Ga naar Beheertools, vervolgens Services.
  3. Controleer de status van de Microsoft Exchange IMAP4-service.
  4. Als het nog niet draait, schakel het in/start het.

Het volgende codefragment toont hoe je verbinding maakt en berichtenlijst ophaalt uit de Inbox-map van een Microsoft Exchange-server met het IMAP-protocol.

// Connect to Exchange Server using ImapClient class
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.setSecurityOptions(SecurityOptions.Auto);

// Select the Inbox folder
imapClient.selectFolder(ImapFolderInfo.IN_BOX);

// Get the list of messages
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : (Iterable<ImapMessageInfo>) msgCollection) {
    System.out.println(msgInfo.getSubject());
}
// Disconnect from the server
imapClient.dispose();

Het volgende codefragment toont hoe je SSL gebruikt.

public static void run() {
    // Connect to Exchange Server using ImapClient class
    ImapClient imapClient = new ImapClient("ex07sp1", 993, "Administrator", "Evaluation1");
    imapClient.setSecurityOptions(SecurityOptions.SSLExplicit);

    // Select the Inbox folder
    imapClient.selectFolder(ImapFolderInfo.IN_BOX);

    // Get the list of messages
    ImapMessageInfoCollection msgCollection = imapClient.listMessages();
    for (ImapMessageInfo msgInfo : (Iterable<ImapMessageInfo>) msgCollection) {
        System.out.println(msgInfo.getSubject());
    }
    // Disconnect from the server
    imapClient.dispose();
}

Na verbinding te hebben gemaakt met een Exchange-server via IMAP en het ophalen van de IMapMessageInfoCollection, Het volgende codefragment toont hoe je de MessageInfo volgnummer van het object om een specifiek bericht op te slaan.

// Select the Inbox folder
imapClient.selectFolder(ImapFolderInfo.IN_BOX);
// Get the list of messages
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : (Iterable<ImapMessageInfo>) msgCollection) {
    // Fetch the message from inbox using its SequenceNumber from msgInfo
    MailMessage message = imapClient.fetchMessage(msgInfo.getSequenceNumber());

    // Save the message to disc now
    message.save(dataDir + msgInfo.getSequenceNumber() + "_out.msg", SaveOptions.getDefaultMsgUnicode());
}