Connexion au serveur Exchange

Afin de se connecter aux serveurs Exchange 2007, 2010 et 2013 en utilisant Exchange Web Service, Aspose.Email fournit le IEWSClient interface qui implémente le EWSClient classe. Le EWSClient.getEWSClient la méthode instancie et renvoie un IEWSClient objet qui est ensuite utilisé pour effectuer des opérations liées à une boîte aux lettres Exchange et à d’autres dossiers. Cet article montre comment instancier des objets de IEWSClient.

Connexion au serveur Exchange via EWS

Le fragment de code suivant montre comment se connecter en utilisant 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;
}

Connexion au serveur Exchange via IMAP

Microsoft Exchange Server prend en charge le protocole IMAP pour accéder aux éléments d’une boîte aux lettres. Utilisez le ImapClient classe pour se connecter au serveur Exchange en utilisant le protocole IMAP. Pour plus d’informations sur le ImapClient classe. Tout d’abord, assurez-vous que les services IMAP sont activés pour votre serveur Exchange :

  1. Ouvrez le Panneau de configuration.
  2. Allez dans Outils d’administration, puis Services.
  3. Vérifiez l’état du service Microsoft Exchange IMAP4.
  4. S’il n’est pas déjà en cours d’exécution, activez/le démarrez.

Le fragment de code suivant montre comment se connecter et lister les messages du dossier Boîte de réception d’un serveur Microsoft Exchange en utilisant le protocole IMAP.

// 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();

Le fragment de code suivant montre comment utiliser SSL.

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();
}

Après s’être connecté à un serveur Exchange en utilisant IMAP et avoir récupéré le IMapMessageInfoCollection, le fragment de code suivant montre comment utiliser le MessageInfo numéro de séquence de l’objet pour sauvegarder un message spécifique.

// 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());
}