JavaMail API - Memeriksa Email
Ada dua aspek yang perlu dipahami sebelum melanjutkan dengan bab ini. MerekaCheck dan Fetch.
CheckMengirim email di JavaMail adalah proses di mana kita membuka folder masing-masing di kotak surat dan menerima setiap pesan. Di sini kami hanya memeriksa header dari setiap pesan yaitu subjek Dari, Kepada ,. Konten tidak dibaca.
Fetchmemasukkan email di JavaMail adalah proses di mana kita membuka folder masing-masing di kotak surat dan menerima setiap pesan. Bersamaan dengan header kita juga membaca konten dengan mengenali tipe konten.
Untuk memeriksa atau mengambil email menggunakan JavaMail API, kita membutuhkan server POP atau IMAP. Untuk memeriksa dan mengambil email, diperlukan kelas Folder dan Store. Di sini kami telah menggunakan server POP3 GMAIL (pop.gmail.com). Pada bab ini akan dipelajari bagaimana cara mengecek email menggunakan JavaMail API. Pengambilan akan dibahas dalam bab-bab berikutnya. Untuk memeriksa email:
Dapatkan Sesi
Buat objek pop3 Store dan hubungkan dengan server pop.
Buat objek folder. Buka folder yang sesuai di kotak surat Anda.
Dapatkan pesan Anda.
Tutup objek Store dan Folder.
Buat Kelas Java
Buat file kelas java CheckingMails, yang isinya adalah sebagai berikut:
package com.tutorialspoint;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;
public class CheckingMails {
public static void check(String host, String storeType, String user,
String password)
{
try {
//create properties field
Properties properties = new Properties();
properties.put("mail.pop3.host", host);
properties.put("mail.pop3.port", "995");
properties.put("mail.pop3.starttls.enable", "true");
Session emailSession = Session.getDefaultInstance(properties);
//create the POP3 store object and connect with the pop server
Store store = emailSession.getStore("pop3s");
store.connect(host, user, password);
//create the folder object and open it
Folder emailFolder = store.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
// retrieve the messages from the folder in an array and print it
Message[] messages = emailFolder.getMessages();
System.out.println("messages.length---" + messages.length);
for (int i = 0, n = messages.length; i < n; i++) {
Message message = messages[i];
System.out.println("---------------------------------");
System.out.println("Email Number " + (i + 1));
System.out.println("Subject: " + message.getSubject());
System.out.println("From: " + message.getFrom()[0]);
System.out.println("Text: " + message.getContent().toString());
}
//close the store and folder objects
emailFolder.close(false);
store.close();
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String host = "pop.gmail.com";// change accordingly
String mailStoreType = "pop3";
String username = "[email protected]";// change accordingly
String password = "*****";// change accordingly
check(host, mailStoreType, username, password);
}
}
Kompilasi dan Jalankan
Sekarang kelas kita sudah siap, mari kita kompilasi kelas di atas. Saya telah menyimpan kelas CheckingMails.java ke direktori:/home/manisha/JavaMailAPIExercise. Kita membutuhkan jars javax.mail.jar dan activation.jar di classpath. Jalankan perintah di bawah ini untuk mengkompilasi kelas (kedua jars ditempatkan di direktori / home / manisha /) dari command prompt:
javac -cp /home/manisha/activation.jar:/home/manisha/javax.mail.jar: CheckingMails.java
Sekarang kelas telah dikompilasi, jalankan perintah di bawah ini untuk menjalankan:
java -cp /home/manisha/activation.jar:/home/manisha/javax.mail.jar: CheckingMails
Verifikasi Output
Anda akan melihat pesan berikut di konsol perintah:
messages.length---4
---------------------------------
Email Number 1
Subject: Test Mail--Fetch
From: <[email protected]>
Text: javax.mail.internet.MimeMultipart@327a5b7f
---------------------------------
Email Number 2
Subject: testing ----checking simple email
From: <[email protected]>
Text: javax.mail.internet.MimeMultipart@7f0d08bc
---------------------------------
Email Number 3
Subject: Email with attachment
From: <[email protected]>
Text: javax.mail.internet.MimeMultipart@30b8afce
---------------------------------
Email Number 4
Subject: Email with Inline image
From: <[email protected]>
Text: javax.mail.internet.MimeMultipart@2d1e165f
Disini kami telah mencetak jumlah pesan di INBOX yaitu 4 dalam kasus ini. Kami juga telah mencetak Subjek, Dari alamat dan Teks untuk setiap pesan email.