کار با مکالمات در سرور MS Exchange در جاوا

اغلب، یک ایمیل از چندین پیام (یا پاسخ) تشکیل شده است که یک موضوع را تشکیل می دهند. در Microsoft Exchange Server، این موضوعات به عنوان گفتگو نامیده می شوند. هنگام کار با MS Exchange Server به صورت برنامه‌ریزی شده، ممکن است لازم باشد به مکالمات دسترسی داشته باشید و آن‌ها را مدیریت کنید. برای انجام این کار، در این مقاله، نحوه یافتن، کپی، انتقال و حذف مکالمات در سرور Microsoft Exchange Server در جاوا را خواهید آموخت.

Java API برای کار با مکالمات در MS Exchange Server

برای کار با مکالمات در سرور Microsoft Exchange، از Aspose.Email for Java استفاده خواهیم کرد. این یک API شگفت انگیز است که مجموعه ای از ویژگی ها را برای کار با MS Exchange Server از داخل برنامه های جاوا فراهم می کند. می توانید 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 در جاوا پیدا کنید

مراحل زیر برای یافتن مکالمات از یک پوشه در MS Exchange Server با استفاده از جاوا آمده است.

نمونه کد زیر نحوه یافتن مکالمات را از یک پوشه در MS Exchange Server در جاوا نشان می دهد.

// 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 در جاوا کپی کنید

همچنین می توانید مکالمات را از یک پوشه به پوشه دیگر کپی کنید. بیایید نگاهی به نحوه کپی کردن مکالمات از صندوق ورودی به پوشه موارد حذف شده Exchange Server در جاوا بیندازیم.

نمونه کد زیر نحوه کپی کردن مکالمه در MS Exchange Server با استفاده از جاوا را نشان می دهد.

// 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 در جاوا منتقل کنید

در بخش قبل، فقط مکالمات را از یک پوشه به پوشه دیگر کپی کردیم. با این حال، در موارد خاص، ممکن است لازم باشد مکالمه را به یک پوشه خاص منتقل کنید. مراحل زیر برای انتقال مکالمه در MS Exchange Server در جاوا آمده است.

نمونه کد زیر نحوه انتقال مکالمه در MS Exchange Server با استفاده از جاوا را نشان می دهد.

// 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 در جاوا را حذف کنید

در پایان، بیایید نگاهی به نحوه حذف یک مکالمه از MS Exchange Server در جاوا بیندازیم.

نمونه کد زیر نحوه حذف مکالمه از MS Exchange Server در جاوا را نشان می دهد.

// 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 رایگان دریافت کنید

می‌توانید برای استفاده از Aspose.Email برای جاوا بدون محدودیت ارزیابی، مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله نحوه مدیریت مکالمات در Microsoft Exchange Server با استفاده از جاوا را یاد گرفتید. شما نحوه یافتن، کپی کردن، جابجایی و حذف یک مکالمه در MS Exchange Server را به صورت برنامه نویسی در جاوا دیده اید. علاوه بر این، می‌توانید اسناد را برای مطالعه بیشتر درباره Aspose.Email برای جاوا کاوش کنید. همچنین، می‌توانید سؤالات خود را از طریق [تالار گفتمان25 ما بپرسید.

همچنین ببینید