Java'da E-postaları Oku

Belirli durumlarda, uygulamalarınız içinden EML veya MSG e-posta mesajlarını okumanız ve ayrıştırmanız gerekebilir. Bunu programlı olarak yapmak için, bu makale Java’da e-posta mesajlarından nasıl bilgi çıkarılacağını gösterir. Özellikle, e-postanın konu, alıcı, alıcı, gövde ve başlık bilgilerini nasıl okuyacağınızı öğreneceksiniz.

E-postaları Okumak için Java API

E-posta mesajlarını okumak için Aspose.Email for Java kullanacağız. Java’da zengin özelliklere sahip e-posta istemcileri oluşturmanıza izin veren güçlü bir API’dir. API’nin JAR’ını indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak kurabilirsiniz.

<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>

Java kullanarak bir E-posta Mesajını Okuyun

Java’da bir e-posta mesajını okuma adımları aşağıdadır.

  • MailMessage sınıfını kullanarak e-posta dosyasını yükleyin.
  • Kime, Kimden, Konu, Gövde vb. MailMessage nesnesini kullanarak e-postanın içeriğini okuyun.

Aşağıdaki kod örneği, Java kullanılarak bir e-posta iletisinin nasıl okunacağını gösterir.

// Bir Eml dosyası yükleyerek MailMessage örneği oluşturun
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// gönderen bilgilerini al
System.out.println(message.getFrom());
		
System.out.print("To: ");
// Alıcı bilgilerini al
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// konuyu al
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// HTML gövdesini al
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// Metin gövdesini alır
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// Metin gövdesini alır from HTML
System.out.println(message.getHtmlBodyText());

Java’da E-posta Gövdesini Düz Metin Olarak Çıkarın

Ayrıca bir e-postayı okuyabilir ve gövdesini HTML yerine düz metin olarak çıkarabilirsiniz. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.

Aşağıdaki kod örneği, e-posta gövdesinin Java’da düz metin olarak nasıl çıkarılacağını gösterir.

// E-posta mesajını yükle
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

// E-posta mesajını yazdır
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

Java’daki Bir E-postadan Başlık Bilgilerini Çıkarın

Aspose.Email for Java ayrıca bir e-posta mesajının başlık bilgisini okumanıza olanak tanır. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.

Aşağıdaki kod örneği, Java kullanılarak e-posta iletisinin başlığının nasıl okunacağını gösterir.

// Bir EML dosyası yükleyerek MailMessage örneği oluşturun
MailMessage message = MailMessage.load("test.eml");

// Tüm başlıkları yazdır
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

Java’da E-posta Başlıklarını Çözme

Aşağıdaki adımları kullanarak e-posta başlıklarının kodunu da çözebilirsiniz.

Aşağıdaki kod örneği, Java’da bir e-posta başlık değerinin kodunun nasıl çözüleceğini gösterir.

// E-posta mesajını yükle
MailMessage mail = MailMessage.load("test.eml");

// başlıktan kodu çözülmüş değeri alın
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// değeri yazdır
System.out.println(decodedValue);

Ücretsiz API Lisansı Alın

API’yi değerlendirme sınırlamaları olmaksızın kullanmak için ücretsiz bir geçici lisans talep edebilirsiniz.

Canlı Demo

Çözüm

Bu makalede, Java kullanarak e-posta mesajlarını nasıl okuyacağınızı öğrendiniz. Ayrıca, bir e-posta mesajından başlık bilgilerinin nasıl çıkarılacağını gördünüz. Belgeleri kullanarak Java e-posta API’si hakkında daha fazlasını keşfedebilirsiniz. Ayrıca, herhangi bir sorunuz olması durumunda forumumuz aracılığıyla bizimle iletişime geçebilirsiniz.

Ayrıca bakınız