"Ini aku—lagi. Dan lagi, aku punya sedikit kejutan untukmu."

"Hari ini saya akan mengajari Anda cara mengirim email menggunakan Java. "

"Mari kita mulai dengan kabar baiknya: Java memiliki pustaka asli untuk bekerja dengan email. "

"Kabar buruknya adalah perpustakaan ini adalah bagian dari Java EE , bukan Java SE ."

" Java EE adalah versi perluasan dari JavaSE , yang menyertakan kelas yang diperlukan untuk aplikasi yang lebih bagus. Misalnya, aplikasi untuk bekerja dengan email."

"Mengerti, jadi apa yang bisa dilakukan?"

"Yah, saya sarankan Anda mengunduh perpustakaan ini dan hanya itu."

"Gunakan IntelliJ IDEA dengan bijak."

"Buat kelas dan tambahkan pustaka javax.mail.* dan javax.mail.internet.* ke bagian impor.

"Kemudian tekan Alt+Enter dan biarkan IDEA melakukan semuanya untuk Anda:

"Inilah tawaran untuk mengunduh pustaka yang hilang:"

Kirim email - 1

"Inilah tampilan jendela unduhan:"

Kirim email - 2

"Atau bisa download disini "

"Diunduh. Apa selanjutnya?"

"Anda harus pergi ke pengaturan proyek (Buka Pengaturan Modul) ke bagian Perpustakaan dan menambahkan file JAR dari arsip yang diunduh."

Kirim email - 3

"Selesai."

"Apakah garis berikut tidak lagi berwarna merah?"

import javax.mail.internet.MimeMessage;
import javax.mail.internet.*;

"Ya."

"Bagus, mari kita lanjutkan kalau begitu."

"Ada tiga langkah untuk mengirim email."

1) Buat koneksi dengan server email yang akan digunakan untuk mengirim email

2) Buat email dan, jika perlu, tambahkan lampiran

3) Kirim email.

"Mari kita mulai dari awal."

"Untuk mengirim email di Java, pertama-tama Anda harus membuat koneksi dengan server email."

"Sebaiknya Anda sudah memiliki akun email di server. Khawatir dengan spam, server email modern tidak ingin mengirim pesan dari pengguna anonim. "

"Anda dapat terhubung ke server dengan satu panggilan ke metode javax.mail.Session.getDefaultInstance:"

Buat koneksi dengan server surat
Properties props = new Properties();

// Here we need to load data into the props object

Session session = Session.getDefaultInstance(props);

"Tapi Anda harus meneruskan pengaturan server surat ke metode ini."

"Misalnya, Anda dapat membuat file Mail.properties dan mengisinya dengan pengaturan yang diinginkan, misalnya seperti ini:"

Properti surat
mail.transport.protocol=smtp
mail.host=smtp.gmail.com
mail.smtp.auth=true
mail.user=arnold@gmail.com
mail.password=strong

"Yang paling penting adalah menentukan protokol dan host, tetapi Anda mungkin memerlukan pengaturan tambahan, bergantung pada cara kerja server email."

"Anda cukup menambahkan data ini ke objek Properties langsung di kode Java Anda."

"Misalnya:"

Buat koneksi dengan server email"
Properties props = new Properties();
props.put("mail.transport.protocol", "smtps");
props.put("mail.smtps.host", “smtp.gmail.com”);
props.put("mail.smtps.auth", "true");
props.put("mail.smtp.sendpartial", "true");

Session session = Session.getDefaultInstance(props);

"Bagus, kita punya sesi. Sekarang mari buat email."

"Ini lebih mudah dilakukan daripada yang terlihat pada pandangan pertama. Misalnya:"

Buat pesan surat
// Create a message
MimeMessage message = new MimeMessage(session);

// Set the message subject
message.setSubject("Test email!");

// Add the message text
message.setText("Asta la vista, baby!");

// Specify the recipient
message.addRecipient(Message.RecipientType.TO, new InternetAddress("stalone@gmail.com"));

// Specify the delivery date
message.setSentDate(new Date());

"Saya dapat menentukan alamat email apa pun sebagai penerima?"

"Ya. Terlebih lagi, Anda juga dapat menentukan alamat email apa saja sebagai pengirimnya."

"Keren! Aku akan mempertimbangkannya."

"Sekarang kita hanya perlu mengirimkan pesan ini."

"Pertama, kami masuk ke server, lalu kami mengirimkan pesan kami. Hanya dua baris kode:"

Kirim pesan
// Username and password for a Gmail account
String userLogin = “arnold@gmail.com”;
String userPassword = “strong”;

// Sign in on the server:
Transport transport = session.getTransport();
transport.connect("smtp.gmail.com", 465, userLogin, userPassword);

// Send a message:
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));

"Menarik sekali! Aku harus mencobanya."

"Jika Anda bertanya-tanya bagaimana cara mengirim pesan dengan lampiran, Anda dapat membacanya di sini ."

"Jika Anda juga ingin mengetahui cara menerima surat, silakan lihat di sini ."

"Holy moly. Tautan yang sangat berguna!"

"Ya, saya akan membuat klien email sendiri sekarang. Keren!"

"Terima kasih, Ellie!"