JavaMail API - Server SMPT Gmail
Di semua bab sebelumnya kami menggunakan server JangoSMPT untuk mengirim email. Pada bab ini kita akan belajar tentang server SMPT yang disediakan oleh Gmail. Gmail (antara lain) menawarkan penggunaan server SMTP publik mereka secara gratis.
Detail server SMTP Gmail dapat ditemukan di sini . Seperti yang Anda lihat di detailnya, kami dapat menggunakan koneksi TLS atau SSL untuk mengirim email melalui server SMTP Gmail.
Prosedur mengirim email menggunakan server SMTP Gmail sama seperti yang dijelaskan di bab Mengirim Email , kecuali bahwa kami akan mengubah server host. Sebagai prasyarat, alamat email pengirim harus merupakan akun gmail yang aktif. Mari kita coba contoh.
Buat Kelas Java
Buat file Java SendEmailUsingGMailSMTP, isinya sbb:
package com.tutorialspoint;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendEmailUsingGMailSMTP {
public static void main(String[] args) {
// Recipient's email ID needs to be mentioned.
String to = "[email protected]";//change accordingly
// Sender's email ID needs to be mentioned
String from = "[email protected]";//change accordingly
final String username = "abc";//change accordingly
final String password = "*****";//change accordingly
// Assuming you are sending email through relay.jangosmtp.net
String host = "smtp.gmail.com";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "587");
// Get the Session object.
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// Create a default MimeMessage object.
Message message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
// Set Subject: header field
message.setSubject("Testing Subject");
// Now set the actual message
message.setText("Hello, this is sample for to check send "
+ "email using JavaMailAPI ");
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
Di sini host ditetapkan sebagai smtp.gmail.com dan port ditetapkan sebagai 587 . Di sini kami telah mengaktifkan koneksi TLS.
Kompilasi dan Jalankan
Sekarang kelas kita sudah siap, mari kita kompilasi kelas di atas. Saya telah menyimpan kelas SendEmailUsingGMailSMTP.java ke direktori:/home/manisha/JavaMailAPIExercise. Kita membutuhkan jars javax.mail.jar dan activation.jar di classpath. Jalankan perintah di bawah ini untuk mengkompilasi kelas (kedua jars ditempatkan di direktori / home / manisha /) dari command prompt:
javac -cp /home/manisha/activation.jar:/home/manisha/javax.mail.jar: SendEmailUsingGMailSMTP.java
Sekarang kelas telah dikompilasi, jalankan perintah di bawah ini untuk menjalankan:
java -cp /home/manisha/activation.jar:/home/manisha/javax.mail.jar: SendEmailUsingGMailSMTP
Verifikasi Output
Anda akan melihat pesan berikut di konsol perintah:
Sent message successfully....