עבודה עם שיחות ב-MS Exchange Server ב-Java

לעתים קרובות, הודעת דואר אלקטרוני מורכבת ממספר הודעות (או תשובות) היוצרות שרשור. ב-Microsoft Exchange Server, שרשורים אלו נקראים שיחות. במהלך העבודה עם MS Exchange Server באופן תכנותי, ייתכן שיהיה עליך לגשת ולנהל את השיחות. כדי להשיג זאת, במאמר זה, תלמד כיצד למצוא, להעתיק, להעביר ולמחוק שיחות ב-Microsoft Exchange Server ב-Java.

Java API לעבודה עם שיחות ב-MS Exchange Server

כדי לעבוד עם השיחות ב-Microsoft Exchange Server, נשתמש ב-Aspose.Email for Java. זהו API מדהים המספק חבורה של תכונות לעבודה עם MS Exchange Server מתוך יישומי Java. אתה יכול להוריד את ה-API או להתקין אותו באמצעות התצורות הבאות של Maven.

מאגר:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

תלות:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

מצא שיחות ב-MS Exchange Server ב-Java

להלן השלבים לאיתור שיחות מתיקיה ב-MS Exchange Server באמצעות Java.

דוגמת הקוד הבאה מראה כיצד למצוא שיחות מתיקיה ב-MS Exchange Server ב-Java.

// הגדר את URI של תיבת הדואר, שם משתמש, סיסמה, פרטי דומיין
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// מצא פריטי שיחה בתיקיית הדואר הנכנס
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// הצג את כל השיחות
for (ExchangeConversation conversation : conversations) {
	// הצג מאפייני שיחה כמו מזהה ונושא
	System.out.println("Topic: " + conversation.getConversationTopic());
	System.out.println("Flag Status: " + conversation.getFlagStatus());
	System.out.println();
}

העתק שיחה ב-MS Exchange Server ב-Java

אתה יכול גם להעתיק את השיחות מתיקיה אחת לאחרת. בואו נסתכל כיצד להעתיק שיחות מתיבת הדואר הנכנס לתיקיית הפריטים שנמחקו של Exchange Server ב-Java.

דוגמת הקוד הבאה מראה כיצד להעתיק שיחה ב-MS Exchange Server באמצעות Java.

// הגדר את URI של תיבת הדואר, שם משתמש, סיסמה, פרטי דומיין
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// מצא פריטי שיחה בתיקיית הדואר הנכנס
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// הצג את כל השיחות
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// העתק את פריט השיחה בהתבסס על תנאי כלשהו
    if (conversation.getConversationTopic().contains("test email")) {
        client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Copied the conversation item to another folder");
    }
}

העבר שיחה ב-MS Exchange Server ב-Java

בסעיף הקודם, פשוט העתקנו שיחות מתיקיה אחת לאחרת. עם זאת, במקרים מסוימים, ייתכן שיהיה עליך להעביר שיחה לתיקיה מסוימת. להלן השלבים להעברת שיחה ב-MS Exchange Server ב-Java.

דוגמת הקוד הבאה מראה כיצד להעביר שיחה ב-MS Exchange Server באמצעות Java.

// הגדר את URI תיבת הדואר, שם משתמש, סיסמה, פרטי תחום
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// מצא פריטי שיחה בתיקיית הדואר הנכנס
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// הצג את כל השיחות
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// העבר את פריט השיחה על סמך תנאי כלשהו
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Moved the conversation item to another folder");
    }
}

מחק שיחה ב-MS Exchange Server ב-Java

בסופו של דבר, בואו נסתכל כיצד למחוק שיחה מ-MS Exchange Server ב-Java.

דוגמת הקוד הבאה מראה כיצד למחוק שיחה מ-MS Exchange Server ב-Java.

// הגדר את URI של תיבת הדואר, שם משתמש, סיסמה, פרטי דומיין
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// מצא פריטי שיחה בתיקיית הדואר הנכנס
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// הצג את כל השיחות
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// מחק את פריט השיחה על סמך תנאי כלשהו
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.deleteConversationItems(conversation.getConversationId());
        System.out.println("Deleted the conversation item");
    }
}

קבל רישיון API בחינם

אתה יכול לקבל [רישיון זמני] בחינם23 לשימוש ב-Aspose.Email עבור Java ללא מגבלות הערכה.

סיכום

במאמר זה, למדת כיצד לנהל שיחות ב-Microsoft Exchange Server באמצעות Java. ראית כיצד למצוא, להעתיק, להעביר ולמחוק שיחה ב-MS Exchange Server באופן תכנותי ב-Java. בנוסף, אתה יכול לחקור את תיעוד כדי לקרוא עוד על Aspose.Email עבור Java. כמו כן, אתה יכול לשאול את השאלות שלך דרך הפורום שלנו.

ראה גם