Rumah > Java > javaTutorial > teks badan

Menerima E-mel dalam Java

WBOY
Lepaskan: 2024-08-30 15:56:47
asal
937 orang telah melayarinya

Menerima e-mel dalam Java ialah kelas Store dan Folder yang digunakan bersama dengan kelas MimeMessage, Session dan Transport. Ia digunakan untuk menerima e-mel dan mempelajari peringkat penghantaran e-mel JavaMail API. Kelas ujian emailreceive akan membuat hubungan dengan pelayan e-mel berdekatan, dan mel akaun dan memaparkannya untuk menunjukkan alamat ip dalam fail konfigurasi hos untuk nama hos dan pop3 yang merupakan jenis protokol kedai mel pilihan.

Menerima E-mel dalam Java

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Pengambilan Utama

  • Apabila menggunakan JavaMail API, e-mel diterima menggunakan kelas Store dan Folder.
  • E-mel boleh dihantar dan diterima menggunakan API Java. Protokol asas tidak mempunyai kaitan langsung dengan lapisan ini.
  • Dapatkan contoh sesi menggunakan kaedah getDefaultInstance() atau getInstance() kelas Sesi. Untuk Menghasilkan objek kedai POP3 dan pautan ke kedai pop.
  • Selepas melaksanakan kaedah getFolder() pada objek kedai, cipta objek folder dan bukanya dalam peti mel.
  • Dapatkan mesej daripada objek folder.
  • Kunci folder dan letakkan item itu.

Apakah itu Menerima E-mel dalam Java?

Untuk mengetahui tentang peringkat penghantaran e-mel API JavaMail, kelas ujian emailreceive akan membuat hubungan dengan pelayan e-mel berdekatan, menyambung ke e-mel akaun dan memaparkannya untuk menyerlahkan alamat IP dalam fail konfigurasi hos untuk nama hos dan pop3 ialah jenis protokol kedai mel pilihan.

Menerima e-mel dicapai menggunakan kelas Store dan Folder bersama dengan kelas MimeMessage, Session dan Transport. Program ini menerima mesej e-mel sebagai permintaan HTTP. Kita mesti mengaitkan alamat e-mel dengan servlet dalam persediaan aplikasi untuk memproses mesej e-mel masuk, dan kemudiannya kita mesti memasukkan kod servlet dalam apl web. Servis yang betul menerima permintaan HTTP daripada e-mel masuk untuk mengendalikan permintaan dan menghantar respons.

Buat E-mel Penerimaan dalam Kelas Java

Kami telah memeriksa menggunakan Java Mail API untuk menghantar e-mel. Dengan hanya satu protokol (SMTP) untuk dipelajari, menghantar e-mel agak mudah. POP3 dan IMAP ialah dua protokol yang digunakan untuk penerimaan, walau bagaimanapun. Protokol POP3 yang lebih tradisional memberikan satu peti masuk dengan satu baris gilir mesej mel. Piawaian yang lebih terkini, IMAP, memaparkan mel sebagai entri dalam hierarki folder, salah satu daripadanya akan menjadi peti masuk.

Tatacara untuk menerima mel

  • Tentukan sifat mel yang menggunakan kelas sifat untuk menentukan protokol dan pelayan mel.
  • Buat sesi dengan atribut yang telah kami tentukan untuk membaca surat itu.
  • Tetapkan sambungan dan buat kedai untuk membaca mesej.
  • Tentukan dan buka folder yang perlu kita baca dan folder baca sahaja harus dibuka.
  • Lihat kandungan yang belum dibaca pada folder yang dipilih dan simpan hasilnya dalam pelbagai mesej.
  • Kemudian paparkan mesej.

Dua Fail Jar dalam JavaMail

Pelaksanaan Penyedia POP3 dan IMAP, serta rakan sejawatannya yang selamat, POP3S dan IMAPS, disertakan dengan Java Mail.

Kami mesti memuatkan dua fail balang berikut untuk menghantar e-mel menggunakan API JavaMail:

Menerima E-mel dalam Java

  • mail.jar
  • activation.jar

Kami boleh memasukkan pelaksanaan API JavaMail, yang benar-benar percuma dan sumber terbuka, ke dalam produk. Edisi ini juga akan ditampilkan dengan pembekal SMTP, POP3 dan IMAP. API Jakarta EE dipanggil Jakarta Mail yang digunakan terutamanya untuk menghantar dan menerima e-mel melalui protokol SMTP, POP3 dan IMAP. Platform Java EE termasuk versi terbina dalam Jakarta Mail, namun pengguna Java SE secara alternatif boleh menggunakan pakej tambahan. Dalam versi terbaharu yang dikeluarkan beberapa bulan lepas dan juga satu lagi pelaksanaan Java Mail sumber terbuka iaitu GNU JavaMail, hanya menyokong versi 1.3 spesifikasi JavaMail tetapi hanya menawarkan bahagian belakang NNTP percuma, membolehkan penggunaan teknologi ini untuk membaca dan menghantar artikel kumpulan berita.

  • Mail.jar: Kami boleh memasukkan pelaksanaan API JavaMail, yang benar-benar percuma dan sumber terbuka, ke dalam produk. Selain itu, penyedia IMAP, POP3 dan SMTP disertakan dalam edisi balang ini.
  • Activation.jar: Kelas JavaBeans Activation Framework terkandung dalam fail JAR (Java Archive) ini. Demo: Koleksi tunjuk cara mudah yang tidak disokong yang menggunakan beberapa ciri JAF yang mungkin ditemui dalam direktori ini. Direktori yang mengandungi perihalan API Javadoc untuk kelas awam JAF berfungsi sebagai dokumentasi.

Contoh Menerima E-mel dalam Java

Diberikan di bawah adalah contoh yang disebutkan:

Kod:

package TestNG;
import java.io.IOException;
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;
import com.sun.mail.pop3.POP3Store;
public class NewTest{
public static void receiveEmail(String hst, String stype,
String user, String password) {
try {
Properties props = new Properties();
props.put("mail.store.protocol", "pop3");
props.put("mail.pop3s.host", hst);
props.put("mail.pop3s.port", "995");
props.put("mail.pop3.starttls.enable", "true");
Session sess = Session.getDefaultInstance(props);
Store st = sess.getStore("pop3s");
st.connect(hst, user, password);
Folder emailFolder = st.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
Message[] messages = emailFolder.getMessages();
for (int i = 0; i < messages.length; i++) {
Message message = messages[i];
System.out.println("Welcome To Email");
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());
}
emailFolder.close(false);
st.close();
} catch (NoSuchProviderException e) {e.printStackTrace();}
catch (MessagingException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
}
public static void main(String[] args) {
String host = "pop.gmail.com";
String stypes = "pop3";
String username= "[email protected]";
String password= "xodbizaoiqijifre";
receiveEmail(host, stypes, username, password);
}
}
Salin selepas log masuk

Output:

Menerima E-mel dalam Java

Penjelasan:

  • Dalam contoh di atas, kami pernah menerima e-mel daripada perkhidmatan mel java.
  • Di sini menggunakan kedai, pop3 dan perkhidmatan smtp lain untuk menyambungkan pengguna mel tertentu.
  • Menggunakan tatasusunan Folder dan Mesej[] adalah untuk mencipta tika dan menyimpan data pada masa tertentu.
  • Untuk gelung mengulang data dan untuk mengesahkan keadaan yang diperlukan, akhirnya ia mencetak semua data.
  • Kaedah utama akan memanggil kaedah dan sekali lagi mereka mencipta contoh sambungan untuk melaksanakan operasi ini.

Soalan Lazim

Di bawah adalah Soalan Lazim yang dinyatakan:

S1. Tentukan Java Menerima e-mel.

Jawapan:

Menggunakan JavaMail API untuk mendapatkan atau menerima e-mel asas dengan protokol asas tidak mempunyai kaitan dengan lapisan ini sama sekali.

S2. Apakah protokol yang digunakan untuk menerima e-mel dalam java?

Jawapan:

  • IMAP
  • POP3

Antara IMAP itu ialah protokol lanjutan untuk menerima mesej.

S3. Bagaimanakah e-mel Java boleh diterima oleh saya?

Jawapan:

  • Peroleh objek sesi.
  • Sambung ke pelayan pop dan bina objek POP3 atau simpan.
  • Buka objek folder selepas menciptanya.
  • Cetak tatasusunan mesej yang telah anda dapatkan daripada folder.
  • Matikan folder dan simpan objek.

Kesimpulan

Atur cara menerima mesej e-mel sebagai permintaan HTTP. Kita mesti mengaitkan alamat e-mel dengan servlet dalam persediaan aplikasi untuk memproses mesej e-mel masuk, kita harus memasukkan kod servlet dalam apl. Kemudian servlet yang betul menerima permintaan HTTP daripada e-mel masuk dan mengendalikannya.

Atas ialah kandungan terperinci Menerima E-mel dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan