Rumah  >  Artikel  >  Java  >  Memadamkan E-mel dalam Java

Memadamkan E-mel dalam Java

WBOY
WBOYasal
2024-08-30 15:56:40512semak imbas

Artikel berikut menyediakan garis besar untuk Memadam E-mel dalam Java. Padam e-mel dalam Java membolehkan anda memadam e-mel serta menghantar, memajukan dan menerimanya. Ia membolehkan anda memadamkan mesej tertentu dengan menggunakan pilihan setFlag bagi API mel java kelas Mesej, yang merupakan salah satu peringkat penghantaran e-mel. API mel Java ialah salah satu peringkat penghantaran e-mel sebelum membaca data untuk dihantar atau diterima dengan bantuan jars mail.jar dan activation.jar ini untuk menjalankan operasi java.

Memadamkan E-mel dalam Java

Mulakan Kursus Pembangunan Perisian Percuma Anda

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

Pengambilan Utama

  • Dalam aplikasi, kami menggunakan Gmail dan pelayan mel lain.
  • Kami memanfaatkan protokol IMAP untuk menunjukkan e-mel yang belum dibaca daripada peti masuk.
  • E-mel pertama yang belum dibaca kemudiannya dipadamkan.
  • Kami boleh memerhatikan hasilnya sebaik sahaja aplikasi selesai dijalankan dan kami telah membuka peti masuk.
  • Protokol POP hanya membenarkan pemadaman mesej.

Gambaran Keseluruhan Memadam E-mel

Memadamkan e-mel dalam Java mempunyai pilihan untuk memadamkan e-mel serta menghantar, memajukan dan menerimanya. Ia menerima untuk memadam mesej tertentu yang menggunakan pilihan setFlag seperti fungsi kelas Mesej. Objek sesi digunakan untuk Membuka objek folder selepas menciptanya dan kemudian untuk menyambungkan objek kedai ke mesin hos semasa dengan menggunakan kaedah setFlag dan kemudian mendapatkan mesej untuk dipadamkan. Bekerja dengan Bendera yang disambungkan kepada mesej adalah perlu untuk pemadaman mesej. Terdapat beberapa bendera untuk pelbagai negeri dan beberapa daripadanya ditentukan sistem dan yang lain ditentukan oleh pengguna. Bendera kelas dalam sentiasa mentakrifkan bendera yang dipratentukan.

Bagaimana hendak Memadam E-mel Secara Pengaturcaraan dalam Java?

E-mel boleh dipadamkan dalam 4 langkah sama sekali:

1. Objek sesi

Objek Sesi mengekalkan data atau mengubah suai tetapan yang berkaitan dengan sesi pengguna. Semua halaman dalam satu aplikasi boleh mengakses pembolehubah yang terkandung dalam objek sesi, yang menyimpan data tentang pengguna tunggal. Nama, id dan pilihan ialah contoh maklumat yang kerap disimpan dalam pembolehubah sesi.

2. Sambung ke hos semasa dan bina objek storan

Untuk mengeksport metadata masa reka bentuk ke dalam contoh Integrasi pangkalan data, dan harus membina URL storan untuk menentukan dan mencipta baldi storan (jika belum wujud). Untuk memindahkan contoh, kami mesti menentukan URL ini kemudian semasa prosedur konfigurasi. Kemudian menggunakan Perkhidmatan Migrasi Aplikasi akan menyelesaikan tugasan ini secara automatik.

3. Untuk menjadikan folder objek, kemudian lancarkannya

Tiada keperluan bahawa objek Folder yang diterima daripada Storan benar-benar wujud dalam stor bahagian belakang. Kewujudan folder disemak menggunakan kaedah wujud. Folder dicipta dengan kaedah cipta. Pada mulanya, folder berada dalam keadaan tertutup. Dokumentasi untuk beberapa kaedah menyebut fakta bahawa ia sah dalam keadaan ini. Memanggil fungsi 'terbuka' Folder membukanya. Semua kaedah Folder berfungsi dalam keadaan ini dengan pengecualian buka dan padam.

4. Menggunakan kaedah setFlag, dapatkan mesej untuk dipadamkan

Untuk mengakses Gmail atau pelayan mel lain. Menggunakan IMAP sebagai protokol, kami memaparkan e-mel yang belum dibaca dari peti masuk. Selepas itu anda memadamkan e-mel pertama yang belum dibaca. Jika kami membuka peti masuk selepas program selesai dijalankan, kami dapat melihat dengan tepat hasilnya.

Bendera terutamanya disokong untuk mengisytiharkan bendera yang dipratentukan sebagai kelas dalaman:

  • Bendera.Bendera.Dijawab
  • Bendera.Bendera.Dipadamkan
  • Bendera.Bendera.Terkini
  • Bendera.Bendera.Pengguna

Bendera di atas adalah beberapa penggunaan yang kerap dalam keadaan berbeza untuk kedua-dua e-mel yang ditakrifkan sistem dan yang ditakrifkan oleh pengguna.

Memadam API E-mel

Untuk mendapatkan objek sesi ialah langkah pertama untuk meneruskan operasi padam selepas itu kita boleh mencipta objek kedai. Untuk memastikan objek kedai disambungkan kepada localhost atau kelayakan pelayan mel dalaman tambahan pula kita boleh mendapatkan kedai dengan menggunakan kaedah getStore() untuk mendapatkan semula protokol seperti Imap, Pop3, SMTP, dll. Objek folder ialah cara seterusnya untuk mengakses e-mel seperti Peti Masuk atau mana-mana folder akses peribadi atau awam lain.

Dengan menggunakan tatasusunan Mesej[] kami boleh mendapatkan semula mesej daripada folder tertentu. Untuk itu menggunakan kaedah getMessages() adalah laluan untuk mendapatkannya. Kami tahu bahawa Bendera ialah peranan paling penting untuk memadamkan mesej yang diperlukan. Di sini kita boleh menggunakan kaedah yang dipanggil setFlag(FLAGS.Flag.DELETED, boolean) syarat ini mengesahkan mesej dan menetapkan bendera sebagai dipadamkan pada folder yang diperlukan.

Memadamkan Pelayan Mel

Dalam java, kita boleh menggunakan Antara Muka yang dipanggil MailServerManager untuk melaksanakan kelas lalai java seperti AbstractMailServerManager, OFBizMailServerManager dan XMLMailServerManager. Dengan bantuan tatasusunan String[] yang menandakan server_types yang dibenarkan untuk mencipta, mengemas kini dan memadam pelayan. Cipta (contoh MailServer) untuk mencipta pelayan mel dengan jenis panjang id contoh. Di sini kita boleh memadamkan id instance pelayan seperti delete(java.lang.Long mailServerId) dengan jenis void.

Contoh Memadam E-mel dalam Java

Diberikan di bawah adalah contoh yang disebutkan:

Kod:

package TestNG;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
import javax.mail.Flags;
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 NewTest {
public static void deletemail(String hst, String stype, String emailuser,
String passwd)
{
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, emailuser, passwd);
Folder fld = st.getFolder("INBOX");
fld.open(Folder.READ_WRITE);
BufferedReader rd = new BufferedReader(new InputStreamReader(
System.in));
Message[] msgs = fld.getMessages();
System.out.println("msgs.length---" + msgs.length);
for (int i = 0; i < msgs.length; i++) {
Message ms = msgs[i];
System.out.println("---------------------------------");
System.out.println("Email Number " + (i + 1));
System.out.println("Email Subject: " + ms.getSubject());
System.out.println("From: " + ms.getFrom()[0]);
String sub = ms.getSubject();
System.out.print("Do you want to delete this message [y/n] ? ");
String res = rd.readLine();
if ("Y".equals(res) || "y".equals(res)) {
ms.setFlag(Flags.Flag.DELETED, true);
System.out.println("Marked DELETE for message: " + sub);
} else if ("n".equals(res)) {
break;
}
}
fld.close(true);
st.close();
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException io) {
io.printStackTrace();
}
}
public static void main(String[] args) {
String gmailhost = "pop.gmail.com";
String mailStoreType = "pop3";
String username = "[email protected]";
String password = "xodbizaoiqijifre";
deletemail(gmailhost, mailStoreType, username, password);
}
}

Output:

Memadamkan E-mel dalam Java

Penjelasan:

  • Dalam contoh di atas, kami mengimport pakej mel dan io serta kelas lalai, kaedah, dsb.
  • Kemudian menggunakan kelas Properties, kami boleh mengkonfigurasi pelayan mel dan butiran lain.
  • Menggunakan kelas yang diperlukan dan kaedahnya, kami boleh melaksanakan operasi mel seperti mencipta, memadam, dll.
  • Untuk gelung untuk mengulang data mel dan gunakan blok cuba-tangkap untuk mendapatkan pengecualian mel.
  • Kita boleh memanggil kaedah dalam fungsi utama untuk melaksanakan operasi.

Kesimpulan

Bersama-sama dengan keupayaan untuk menghantar, memajukan dan menerima e-mel, pilihan ini juga wujud. Kaedah setFlag kelas Mesej boleh digunakan untuk memadam mesej tertentu. Untuk masuk akal, anda perlu biasa dengan langkah menghantar e-mel API JavaMail. Hanya pemadaman mesej dalam e-mel Java disokong oleh protokol POP. Sambung ke hos yang kini aktif sebelum mencipta objek storan untuk mendapatkan objek sesi. Ambil mesej untuk dimusnahkan, cipta objek folder, dan kemudian lancarkannya menggunakan fungsi setFlag.

Soalan Lazim

Di bawah adalah Soalan Lazim yang dinyatakan:

S1. Apakah pemadaman e-mel dalam java?

Jawapan: Kami mempunyai pilihan untuk memadamkan e-mel serta menghantar, memajukan dan menerimanya. Untuk memadamkan mesej tertentu, gunakan fungsi setFlag kelas Mesej. Ketahui peringkat penghantaran e-mel API JavaMail sebelum membaca contoh ini untuk memahaminya.

S2. Apakah protokol yang kami gunakan untuk memadamkan e-mel dalam java?

Jawapan: Protokol POP digunakan untuk menyokong hanya mesej yang dipadamkan dalam mel java.

S3. Bagaimana hendak memadam e-mel dalam java?

Jawapan: Untuk Mendapatkan objek sesi dahulu kemudian, sambungkan ke hos semasa dan bina objek storan. Jadikan folder objek, kemudian lancarkannya. Menggunakan kaedah setFlag, dapatkan mesej untuk dipadamkan.

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

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