ایمیل ها را در جاوا بخوانید

در موارد خاص، ممکن است لازم باشد پیام‌های ایمیل EML یا MSG را از داخل برنامه‌های خود بخوانید و تجزیه کنید. برای انجام این کار به صورت برنامه نویسی، این مقاله نحوه استخراج اطلاعات از پیام های ایمیل در جاوا را نشان می دهد. به ویژه، شما یاد خواهید گرفت که چگونه موضوع ایمیل، به، از، بدنه و اطلاعات سرصفحه را بخوانید.

Java API برای خواندن ایمیل ها

برای خواندن پیام‌های ایمیل، از Aspose.Email for Java استفاده می‌کنیم. این یک API قدرتمند است که به شما امکان می‌دهد کلاینت‌های ایمیل غنی از ویژگی‌ها را در جاوا ایجاد کنید. می‌توانید JAR 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>21.3</version>
    <classifier>jdk16</classifier>
</dependency>

خواندن یک پیام ایمیل با استفاده از جاوا

مراحل زیر برای خواندن یک پیام ایمیل در جاوا آمده است.

  • فایل ایمیل را با استفاده از کلاس MailMessage بارگیری کنید.
  • محتوای ایمیل را با استفاده از شیء MailMessage، مانند، To، From، Subject، Body و غیره بخوانید.

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

// با بارگذاری یک فایل Eml یک نمونه MailMessage ایجاد کنید
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// اطلاعات فرستنده را دریافت کنید
System.out.println(message.getFrom());
		
System.out.print("To: ");
// دریافت اطلاعات گیرندگان
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// موضوع را دریافت کنید
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// بدنه HTML را دریافت کنید
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// متن متن را دریافت می کند
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// متن متن را دریافت می کند from HTML
System.out.println(message.getHtmlBodyText());

متن ایمیل را به صورت متن ساده در جاوا استخراج کنید

همچنین می توانید یک ایمیل را بخوانید و متن آن را به جای HTML به صورت متن ساده استخراج کنید. مراحل زیر برای انجام این عملیات آورده شده است.

نمونه کد زیر نحوه استخراج متن ایمیل به صورت متن ساده در جاوا را نشان می دهد.

// بارگیری پیام ایمیل
MailMessage mail = MailMessage.load("HtmlWithUrlSample.eml");

body_with_url = mail.getHtmlBodyText(true);// body will contain URL
String body_without_url = mail.getHtmlBodyText(false);// body will not contain URL

// چاپ پیام ایمیل
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

استخراج اطلاعات هدر از یک ایمیل در جاوا

Aspose.Email برای جاوا همچنین به شما امکان می دهد اطلاعات سرصفحه یک پیام ایمیل را بخوانید. مراحل زیر برای انجام این عملیات آورده شده است.

  • فایل ایمیل را با استفاده از کلاس MailMessage بارگیری کنید.
  • با استفاده از روش MailMessage.getHeaders() مجموعه هدر ایمیل را حلقه بزنید.

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

// با بارگذاری یک فایل EML یک نمونه MailMessage ایجاد کنید
MailMessage message = MailMessage.load("test.eml");

// تمام هدرها را چاپ کنید
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

رمزگشایی سرصفحه های ایمیل در جاوا

همچنین می توانید با استفاده از مراحل زیر سربرگ های ایمیل را رمزگشایی کنید.

نمونه کد زیر نحوه رمزگشایی مقدار هدر ایمیل در جاوا را نشان می دهد.

// بارگیری پیام ایمیل
MailMessage mail = MailMessage.load("test.eml");

// مقدار رمزگشایی شده را از هدر دریافت کنید
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// مقدار را چاپ کنید
System.out.println(decodedValue);

مجوز API رایگان دریافت کنید

برای استفاده از API بدون محدودیت ارزیابی، می توانید [درخواست مجوز موقت رایگان11 داشته باشید.

نسخه نمایشی زنده

نتیجه

در این مقاله نحوه خواندن پیام های ایمیل با استفاده از جاوا را یاد گرفتید. علاوه بر این، نحوه استخراج اطلاعات هدر از یک پیام ایمیل را مشاهده کرده اید. می‌توانید با استفاده از مستندات درباره API ایمیل جاوا بیشتر کاوش کنید. علاوه بر این، در صورت وجود هرگونه سوال، می توانید از طریق [فروم 13 ما با ما تماس بگیرید.

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