Meskipun menggunakan JSP untuk mengirim email sangat mudah, namun memerlukan JavaMail API dan JavaBean Activation Framework untuk diinstal.
Unduh JavaMail versi terbaru di sini.
Unduh JavaBeans Activation Framework (JAF) versi terbaru di sini.
Unduh dan unzip file-file ini. Di direktori root, Anda akan melihat serangkaian paket jar. Tambahkan paket mail.jar dan paket activation.jar ke variabel CLASSPATH.
Contoh ini menunjukkan cara mengirim email sederhana dari mesin Anda. Diasumsikan bahwa localhost terhubung ke jaringan dan memiliki kemampuan untuk mengirim email. Pada saat yang sama, harap konfirmasi kembali bahwa paket mail.jar dan paket activation.jar telah ditambahkan ke variabel CLASSPATH.
<%@ page import="java.io.*,java.util.*,javax.mail.*"%><%@ page import="javax.mail.internet.*,javax.activation.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %><% Hasil string; // String email Penerima ke = "[email protected]"; = "[email protected]"; // Asumsikan Anda mengirim email dari host lokal String host = "localhost"; // Dapatkan objek properti sistem Properties property = System.getProperties(); ( "mail.smtp.host", host); // Dapatkan objek Sesi default. Sesi mailSession = Session.getDefaultInstance(properties); // Buat objek MimeMessage default. MimeMessage message = new MimeMessage(mailSession); // Menyetel kolom header dari Dari: header message.setFrom(new InternetAddress(from)); // Menyetel kolom header dari To: header message.addRecipient(Message.RecipientType. TO, new InternetAddress(to)); // Tetapkan Subjek: kolom header message.setSubject("Ini adalah Baris Subjek!"); Sekarang atur pesan sebenarnya message.setText("Ini pesan sebenarnya"); // Kirim pesan Transport.send(message); result = "Pesan berhasil dikirim...." }catch (MessagingException mex) { mex.printStackTrace (); result = "Error: tidak dapat mengirim pesan...." } %><html><head><title>Kirim Email menggunakan JSP</title></head><body><center><h1>Kirim Email menggunakan JSP</h1></center><p align="center"><% out.println("Hasil: " + hasil + "n"); %></p></tubuh></html>
Sekarang kunjungi http://localhost:8080/SendEmail.jsp, maka akan mengirimkan email ke [email protected] dan menampilkan hasil sebagai berikut:
Kirim Email menggunakan JSPResult: Pesan berhasil terkirim....Jika Anda ingin mengirim email ke banyak orang, metode yang tercantum di bawah ini dapat digunakan untuk menentukan beberapa alamat email:
void addRecipients(Jenis Message.RecipientType, Alamat[] alamat)melemparkan MessagingExceptionParameternya dijelaskan sebagai berikut:
type: Nilai ini akan disetel ke TO, CC, atau BCC. CC adalah singkatan dari copy, BCC adalah singkatan dari black copy, dan TO digunakan dalam program contoh.
alamat: Ini adalah array alamat email. Saat menentukan alamat email, Anda perlu menggunakan metode InternetAddress().
Contoh ini mengirimkan email HTML sederhana. Diasumsikan bahwa localhost Anda terhubung ke jaringan dan memiliki kemampuan untuk mengirim email. Pada saat yang sama, harap konfirmasi kembali bahwa paket mail.jar dan paket activation.jar telah ditambahkan ke variabel CLASSPATH.
Contoh ini sangat mirip dengan contoh sebelumnya, namun dalam contoh ini kita menggunakan metode setContent() dan meneruskan "teks/html" sebagai parameter kedua untuk menunjukkan bahwa pesan berisi konten HTML.
<%@ page import="java.io.*,java.util.*,javax.mail.*"%><%@ page import="javax.mail.internet.*,javax.activation.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %><% Hasil string; // String email Penerima ke = "[email protected]"; = "[email protected]"; // Asumsikan Anda mengirim email dari host lokal String host = "localhost"; // Dapatkan objek properti sistem Properties property = System.getProperties(); ( "mail.smtp.host", host); // Dapatkan objek Sesi default. Sesi mailSession = Session.getDefaultInstance(properties); // Buat objek MimeMessage default. MimeMessage message = new MimeMessage(mailSession); // Menyetel kolom header dari Dari: header message.setFrom(new InternetAddress(from)); // Menyetel kolom header dari To: header message.addRecipient(Message.RecipientType. TO, new InternetAddress(to)); // Setel Subjek: bidang header message.setSubject("Ini adalah Baris Subjek!"); Setel pesan HTML message.setContent("<h1>Ini adalah pesan sebenarnya</h1>","text/html" ); // Kirim pesan Transport.send(message); ; }catch (MessagingException mex) { mex.printStackTrace(); result = "Kesalahan: tidak dapat mengirim pesan...." }%><html><head><title>Kirim Email HTML menggunakan JSP</title></head><body><center><h1>Kirim Email menggunakan JSP</h1></center><p align="center"><% out.println("Hasil: " + hasil + "n"); %></p></tubuh></html>
Sekarang Anda dapat mencoba menggunakan file JSP di atas untuk mengirim pesan HTML ke email.
Contoh ini menunjukkan kepada kita cara mengirim email yang berisi lampiran.
<%@ page import="java.io.*,java.util.*,javax.mail.*"%><%@ page import="javax.mail.internet.*,javax.activation.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %><% Hasil string; // String email Penerima ke = "[email protected]"; = "[email protected]"; // Asumsikan Anda mengirim email dari host lokal String host = "localhost"; // Dapatkan objek properti sistem Properties property = System.getProperties(); ( "mail.smtp.host", host); // Dapatkan objek Sesi default. Sesi mailSession = Session.getDefaultInstance(properties); // Buat objek MimeMessage default. MimeMessage message = new MimeMessage(mailSession); // Menyetel kolom header dari Dari: header message.setFrom(new InternetAddress(from)); // Menyetel kolom header dari To: header message.addRecipient(Message.RecipientType. TO, new InternetAddress(to)); //Setel Subjek: kolom header message.setSubject("Ini adalah Baris Subjek!"); //Buat bagian pesan BodyPart messageBodyPart = new MimeBodyPart(); // Isi pesan messageBodyPart.setText("Ini isi pesan"); // Buat pesan multimedia Multipart multipart = new MimeMultipart(); messageBodyPart); // Bagian lampiran messageBodyPart = new MimeBodyPart(); String nama file = "file.txt sumber = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); multipart.addBodyPart(messageBodyPart); .send (pesan); String title = "Kirim Email"; hasil = "Pesan berhasil dikirim...."; (MessagingException mex) { mex.printStackTrace(); result = "Kesalahan: tidak dapat mengirim pesan...." } %><html><head><title>Kirim Email Lampiran menggunakan JSP</title></head ><body><center><h1>Kirim Email Lampiran menggunakan JSP</h1></center><p align="center"><% out.println("Hasil: " + hasil + "n"); %></p></tubuh></html>
Jika server email memerlukan nama pengguna dan kata sandi untuk otentikasi pengguna, maka dapat diatur sebagai berikut:
props.setProperty("mail.pengguna", "pengguna saya"); props.setProperty("mail.password", "mypwd");Gunakan formulir HTML untuk menerima email dan mendapatkan semua informasi email melalui objek permintaan:
String ke = request.getParameter("to");String dari = request.getParameter("from");String subject = request.getParameter("subject");String messageText = request.getParameter("body");Setelah Anda memiliki informasi di atas, Anda dapat mengirim email menggunakan contoh yang disebutkan sebelumnya.