Mengirim Email dengan Lampiran di Java

1. Ikhtisar

Dalam tutorial singkat ini, kita akan belajar bagaimana mengirim email dengan lampiran tunggal dan ganda di Java menggunakan JavaMail API.

2. Pengaturan Proyek

Di artikel ini, kami membuat proyek Maven sederhana dengan ketergantungan javax.mail :

 javax.mail mail 1.5.0-b01 

3. Mengirim Surat Dengan Lampiran

Pertama, kita perlu mengkonfigurasi kredensial penyedia layanan email. Kemudian, objek Session dibuat dengan menyediakan host email, porta, nama pengguna, dan kata sandi. Semua detail ini disediakan oleh layanan host email. Kami dapat menggunakan server pengujian SMTP palsu untuk kode kami.

Objek sesi akan berfungsi sebagai pabrik koneksi untuk menangani konfigurasi dan otentikasi untuk JavaMail .

Sekarang kita memiliki objek Session , mari melangkah lebih jauh dan membuat objek MimeMessage dan MimeBodyPart . Kami menggunakan objek ini untuk membuat pesan email:

Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject("Test Mail Subject"); BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText("Mail Body"); 

Dalam cuplikan di atas, kami telah membuat objek MimeMessage dengan detail yang diperlukan seperti from, to, dan subject. Lalu, kita punya objek MimeBodyPart dengan badan email.

Sekarang, kita perlu membuat MimeBodyPart lain untuk menambahkan lampiran di email kita:

MimeBodyPart attachmentPart = new MimeBodyPart(); attachmentPart.attachFile(new File("C:\\Document1.txt")); 

Kami sekarang memiliki dua objek MimeBodyPart untuk satu Sesi email. Jadi kita perlu membuat satu objek MimeMultipart dan kemudian menambahkan kedua objek MimeBodyPart ke dalamnya:

Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); multipart.addBodyPart(attachmentPart); 

Akhirnya, MimeMultiPart ditambahkan ke objek MimeMessage saat konten email kami dan metode Transport.send () dipanggil untuk mengirim pesan:

message.setContent(multipart); Transport.send(message); 

Untuk meringkas, Pesan berisi MimeMultiPart yang selanjutnya berisi beberapa MimeBodyPart (s) . Begitulah cara kami menyusun email lengkap.

Selain itu, untuk mengirim banyak lampiran, Anda cukup menambahkan MimeBodyPart lainnya .

4. Kesimpulan

Dalam tutorial ini, kita telah mempelajari cara mengirim email dengan lampiran tunggal dan ganda di Java.

Seperti biasa, kode sumber lengkap tersedia di GitHub.