Contoh -contoh dalam artikel ini berbagi kode implementasi spesifik dari fungsi pengiriman dan penerima email untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Pekerjaan Persiapan, Konstruksi Lingkungan:
1. Bangun server surat secara lokal
Server EasyMail, EyoumailServerSetup.exe
2. Buat akun email baru
Zhang San mengirim email ke Li Si.
Langkah 1:
Buat Nama Domain Baru: Alat, Pengaturan Server, Masukkan Itcast.com di kotak Nama Domain Tunggal
Langkah 2:
Buat akun email baru: [email protected]
[email protected]
3. Instal Foxmail
Konfigurasikan Server Pengiriman Email (SMTP): LocalHost 25
Server Penerima Email (POP3): LocalHost 110
Buat akun baru dan Anda dapat menerima email!
Melihat
Jika itu adalah proyek web, karena Javaee dilengkapi dengan fungsi email, mungkin ada masalah!
Kita perlu menggunakan fungsi file mail.jar kita sendiri! Anda perlu menghapus paket surat di Javaee!
menggunakan:
Untuk pengembangan Javamail, pertama -tama perkenalkan file jar:
Activation.jar [Jika Anda menggunakan JDK1.6 atau di atas, Anda tidak dapat menggunakan file jar ini]
mail.jar [email pengiriman inti]
/** * 1. Kirim email normal * @author jie.yuan * */kelas publik app_sendmail {@test public void testSend () melempar pengecualian {// 0. Parameter Mail Properties Prop = Properties Baru (); prop.put ("mail.transport.protocol", "smtp"); // Tentukan protokol prop.put ("mail.smtp.host", "localhost"); // host stmp.qq.com prop.put ("mail.smtp.port", 25); // port prop.put ("mail.smtp.auth", "true"); // kata sandi pengguna authentication prop.put ("mail.debug", "true"); // mode debug // 1. Buat sesi sesi email = session.getDefaultInstance (prop); // 2. Buat Objek Badan Surat (Objek Email Seluruh) Pesan Mimemessage = mimemessage baru (sesi); // 3. Atur parameter badan surat: //3.1 Judul pesan.setsubject ("Email pertama saya"); //3.2 Pesan waktu pengiriman surat.setsentDate (tanggal baru ()); //3.3 pengirim pesan.setsender (internetAddress baru ("[email protected]")); //3.4 penerima pesan.setrecipient (penerimaType.to, internetAddress baru ("[email protected]")); //3.5 konten pesan.setText ("Halo, itu telah berhasil dikirim! Teks ...."); // pesan email teks sederhana sederhana.savechanges (); // Simpan email (opsional) // 4. Kirim transport trans = session.getTransport (); trans.connect ("Zhangsan", "888"); // Kirim email trans.sendMessage (pesan, pesan.getAllrecipients ()); trans.close (); }}Dengan gambar
/** * Email dengan sumber daya gambar * @author jie.yuan * */kelas publik app_2sendWithImg {// parameter inisialisasi prop properti statis pribadi; // pengirim private static internetAddress sendman = null; statis {prop = properti baru (); prop.put ("mail.transport.protocol", "smtp"); // Tentukan protokol prop.put ("mail.smtp.host", "localhost"); // host stmp.qq.com prop.put ("mail.smtp.port", 25); // port prop.put ("mail.smtp.auth", "true"); // kata sandi pengguna authentication prop.put ("mail.debug", "true"); // mode debug coba {sendman = new internetAddress ("[email protected]"); } catch (AddressException e) {lempar runtimeException baru (e); }} @Test public void testSend () melempar Exception {// 1. Buat sesi sesi email sesi = session.getDefaultInstance (prop); // 2. Buat Objek Surat Mimemessage Message = Mimemessage baru (sesi); // 3. Set Parameter: Judul, Pengirim, Penerima, Kirim Waktu, Pesan Konten. message.setsender (sendman); message.setrecipient (recepementType.to, new internetAddress ("[email protected]")); message.setsentDate (tanggal baru ()); / ************************ Atur Konten Email: Email Pengguna Multi-Fungsi (Terkait) ********************* // 4.1 Bangun blok email multi-fungsi Mimemultipart terkait = mimemultipart baru ("terkait"); // 4.2 Bangun Konten Blok Surat Multi-Fungsi = Teks di Sumber Daya Gambar Kiri di Kanan di Kanan Mimebodypart Content = MimebodyPart baru (); Mimebodypart resource = mimebodypart baru (); // Atur konten tertentu: a. Sumber daya (gambar) string filePath = app_2sendwithimg.class.getResource ("8.jpg"). GetPath (); DataSource ds = new fileDataSource (file baru (filepath)); DataHandler Handler = DataHandler baru (DS); Resource.setDataHandler (Handler); resource.setContentId ("8.jpg"); // Atur nama sumber daya dan referensi kunci asing // Atur konten spesifik: b. Konten teks.setContent ("<img src = 'cid: 8.jpg'/> ok!", "Text/html; charset = utf-8"); terkait.addbodypart (konten); terkait.addbodypart (sumber daya); /*********4.3 Tambahkan email kompleks yang dibangun ke email *******/ message.setContent (terkait); // 5. Kirim transport trans = session.getTransport (); trans.connect ("Zhangsan", "888"); trans.sendMessage (pesan, message.getallrecipients ()); trans.close (); }}Gambar + lampiran
/** * 3. Email dengan sumber daya gambar dan lampiran * @author jie.yuan * */kelas publik app_3imgandatta {// parameter inisialisasi prop properti statis pribadi; // pengirim private static internetAddress sendman = null; statis {prop = properti baru (); prop.put ("mail.transport.protocol", "smtp"); // Tentukan protokol prop.put ("mail.smtp.host", "localhost"); // host stmp.qq.com prop.put ("mail.smtp.port", 25); // port prop.put ("mail.smtp.auth", "true"); // kata sandi pengguna authentication prop.put ("mail.debug", "true"); // mode debug coba {sendman = new internetAddress ("[email protected]"); } catch (AddressException e) {lempar runtimeException baru (e); }} @Test public void testSend () melempar Exception {// 1. Buat sesi sesi email sesi = session.getDefaultInstance (prop); // 2. Buat Objek Surat Mimemessage Message = Mimemessage baru (sesi); // 3. Set Parameter: Judul, Pengirim, Penerima, Kirim Waktu, Pesan Konten. message.setsender (sendman); message.setrecipient (recepementType.to, new internetAddress ("[email protected]")); message.setsentDate (tanggal baru ()); /** Pengembangan surat dengan lampiran (gambar)*/ // Buat blok total mimemultipart campuran = mimemultipart baru ("campuran"); // -> Total surat cepat, diatur ke message.setContent (campuran); // Kiri: (Teks + Sumber Daya Gambar) Mimebodypart kiri = mimebodypart baru (); // kanan: lampiran mimebodypart kanan = mimebodypart baru (); // diatur ke Total Mail Block Mixed.AddBodyPart (kiri); campuran.addbodypart (kanan); / ******* lampiran **********/ string attr_path = this.getClass (). GetResource ("a.docx"). GetPath (); DataSource attr_ds = new fileDataSource (file baru (attr_path)); DataHandler attr_handler = DataHandler baru (attr_ds); right.setDataHandler (attr_handler); right.setFileName ("a.docx"); / ************************ Atur Konten Email: Email Pengguna Multifungsi (Terkait) ********************** // 4.1 Bangun blok email multifungsi Mimemultipart terkait = mimemultipart baru ("terkait"); // ---> diatur ke kiri.setContent (terkait); // 4.2 Bangun Konten Blok Surat Multi-Fungsional = Teks di Kiri + Sumber Daya Gambar Di Kanan Mimebodypart Content = Baru MimebodyPart (); Mimebodypart resource = mimebodypart baru (); // Atur konten tertentu: a. Sumber daya (gambar) string filepath = app_3imgandatta.class.getResource ("8.jpg"). GetPath (); DataSource ds = new fileDataSource (file baru (filepath)); DataHandler Handler = DataHandler baru (DS); Resource.setDataHandler (Handler); resource.setContentId ("8.jpg"); // Atur nama sumber daya dan referensi kunci asing // Atur konten spesifik: b. Konten teks.setContent ("<img src = 'cid: 8.jpg'/> ok!", "Text/html; charset = utf-8"); terkait.addbodypart (konten); terkait.addbodypart (sumber daya); // 5. SendTransport trans = session.getTransport (); trans.connect ("Zhangsan", "888"); trans.sendMessage (pesan, message.getallrecipients ()); trans.close (); }}Di atas adalah semua tentang artikel ini, saya harap akan sangat membantu bagi semua orang untuk belajar pemrograman Java.