Javamail API - Mengirim email menggunakan java dari gmail smtp
- 2645
- 83
- John Ratke
API Javamail mendukung javamail (Javax.surat) antarmuka untuk mengirim pesan email. Ini menyediakan kelas untuk mengirim email dari server SMTP jarak jauh dengan otentikasi seperti gmail, sendgrid dll.
Di artikel ini kami menggunakan Javamail API untuk mengirim email menggunakan bahasa pemrograman Java melalui server SMTP jarak jauh. Contoh artikel ini menggunakan server SMTP Gmail sebagai server SMTP jarak jauh untuk mengirim email.
Langkah 1: Pengaturan Lingkungan Javamail
Pertama kita perlu mengunduh file jar yang berisi semua kelas di javax.surat. Unduh Jar (surat.stoples) File dari situs web resmi Oracle.
Sekarang atur classpath di lingkungan sistem. Pengguna Windows memastikan Anda memiliki variabel jalur yang dikonfigurasi untuk instalasi Java Anda.
Windows:
C:> Set ClassPath = Mail.stoples;.;
Linux:
# Ekspor java_home =/opt/jdk1.8.0_05/ # Path Ekspor = $ path: $ java_home/bin # ekspor classpath = $ java_home/jre/lib/ext: $ java_home/lib/tools.Jar: Mail.stoples:.
Langkah 2: Tulis program Java untuk mengirim email
Buat file java Sendmail.Jawa dengan konten berikut. Dalam skrip ini Anda perlu mengubah banyak pengaturan sesuai pengaturan Anda. Skrip ini dapat digunakan untuk mengirim email melalui TLS atau koneksi SSL SMTP melalui server SMTP GMAIL.
Impor Java.util.Properti; Impor Javax.surat.Pesan; Impor Javax.surat.Pesan pesan; Impor Javax.surat.PasswordAuthentication; Impor Javax.surat.Sidang; Impor Javax.surat.Mengangkut; Impor Javax.surat.Internet.Alamat internet; Impor Javax.surat.Internet.Mimemessage; Impor Javax.surat.Internet.Exception Alamat; Public Class SendMail public static void main (string [] args) melempar Exception string final smtp_host = "smtp.Gmail.com "; string terakhir smtp_username =" [email protected] "; string final smtp_password =" _email_password_ "; string akhir smtp_connection =" tls "; // gunakan 'tls' atau 'ssl' koneksi string final toemail =" [email protected] "; string final fromeMail =" [email protected] "; properti props = properti baru (); props.letakkan ("email.SMTP.auth "," true "); if (smtp_connection.sama ("tls")) props.letakkan ("email.SMTP.starttls.aktifkan "," benar "); alat peraga.letakkan ("email.SMTP.port "," 587 "); else props.letakkan ("email.SMTP.SocketFactory.port "," 465 "); alat peraga.letakkan ("email.SMTP.SocketFactory.kelas "," Javax.bersih.SSL.Sslsocketfactory "); alat peraga.letakkan ("email.SMTP.port "," 465 "); sesi sesi = sesi.getInstance (alat peraga, javax baru.surat.Authenticator () Protected PasswordAuthentication getPasswordAuthentication () return new passwardAuthentication (smtp_username, smtp_password); ); coba pesan msg = mimemessage baru (sesi); msg.setfrom (internetAddress baru (fromemail, "noreply")); msg.addrecipient (pesan.Penerima tipe.Ke, internetAddress baru (toemail, "mr. Penerima ")); msg.setSubject ("Selamat Datang di Javamail API"); msg.setText ("Tes API Javamail - Mengirim Contoh Email Melalui Server SMTP Jarak Jauh"); Mengangkut.kirim (msg); Sistem.keluar.println ("Email berhasil dikirim ..."); catch (AddressException e) lempar runtimeException baru (e); catch (MessagingException e) lempar runtimeException baru (e);123456789101112131415161718192021222324252627282930313233435363738394041455557 | Impor Java.util.Properti; Impor Javax.surat.Pesan; Impor Javax.surat.MessagingException; Impor Javax.surat.PasswordAuthentication; Impor Javax.surat.Sesi; Impor Javax.surat.Transportasi; Impor Javax.surat.Internet.InternetAddress; impor javax.surat.Internet.Mimemessage; impor javax.surat.Internet.Exception Alamat; Public Class SendMail public static void main (string [] args) melempar Exception string final smtp_host = "smtp.Gmail.com "; string terakhir smtp_username =" [email protected] "; string final smtp_password =" _email_password_ "; string akhir smtp_connection =" tls "; // gunakan 'tls' atau 'ssl' koneksi string final toemail =" [email protected] "; string final fromeMail =" [email protected] "; properti props = properti baru (); props.letakkan ("email.SMTP.auth "," true "); if (smtp_connection.sama ("tls")) props.letakkan ("email.SMTP.starttls.aktifkan "," benar "); alat peraga.letakkan ("email.SMTP.port "," 587 "); else props.letakkan ("email.SMTP.SocketFactory.port "," 465 "); alat peraga.letakkan ("email.SMTP.SocketFactory.kelas "," Javax.bersih.SSL.Sslsocketfactory "); alat peraga.letakkan ("email.SMTP.port "," 465 "); sesi sesi = sesi.getInstance (alat peraga, javax baru.surat.Authenticator () Protected PasswordAuthentication getPasswordAuthentication () return new passwardAuthentication (smtp_username, smtp_password); ); coba pesan msg = mimemessage baru (sesi); msg.setfrom (internetAddress baru (fromemail, "noreply")); msg.addrecipient (pesan.Penerima tipe.Ke, internetAddress baru (toemail, "mr. Penerima ")); msg.setSubject ("Selamat Datang di Javamail API"); msg.setText ("Tes API Javamail - Mengirim Contoh Email Melalui Server SMTP Jarak Jauh"); Mengangkut.kirim (msg); Sistem.keluar.println ("Email berhasil dikirim..."); Catch (AddressException e) lempar runtimeException baru (e); catch (MessagingException e) lempar runimeException baru (e); |
Langkah 3: Jalankan program untuk mengirim email
Akhirnya kita perlu menjalankan program Java untuk mengirim email. Seperti yang kita ketahui bahwa ini terjadi dalam dua langkah, pertama untuk mengkompilasi program dan kedua untuk menjalankannya.
# Javac Sendmail.Java # Java Sendmail
- « Cara Mengkonfigurasi Server DHCP di CentOS/RHEL 7/6/5
- Cara Menghubungkan Node.Aplikasi JS dengan MongoDB di Centos & Fedora »