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
- Java kullanarak bir E-posta Mesajını Okuyun
- E-posta Gövdesini Düz Metin Olarak Çıkarın
- E-postadan Başlık Bilgilerini Çıkarın
- E-posta Başlığı Değerinin Kodunu Çöz
- Ücretsiz API Lisansı Alın
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.
- MailMessage sınıfını kullanarak e-posta dosyasını yükleyin.
- MailMessage.getHtmlBodyText(boolean) yöntemini kullanarak e-postanın gövdesini çıkarın.
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.
- MailMessage sınıfını kullanarak e-posta dosyasını yükleyin.
- MailMessage.getHeaders() yöntemini kullanarak e-postanın başlık koleksiyonunda dolaşın.
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.
- MailMessage sınıfını kullanarak e-posta dosyasını yükleyin.
- MailMessage.getHeaders().getDecodedValue(String name) yöntemini kullanarak kodu çözülmüş e-posta başlığının değerini alın.
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.