Aplikasi cloud atau hanya sekedar website biasa membutuhkan email baik itu sebagai promosi produk, konfirmasi keikut sertaan, milis, atau notifikasi. Oleh karena itu, kemampuan setiap bahasa pemrograman dan developer-nya untuk mengirimkan email sangatlah penting. Alangkah lucunya sebuah aplikasi atau usaha Anda yang digadang-gadang sangat hebat mengirimkan promosinya melalui akun mail gratis seperti gmail, yahoo atau akun mail gratis lainnya.
Well... jika Anda ingin membuatkan mail pribadi, bisa hubungi saya :D
Pada tulisan kali ini saya membahas tentang mengirim email dengan library javax.mail. Library ini bisa didownload pada http://www.oracle.com/technetwork/java/javamail/index.html
Untuk membuat email dapat terkirim melalui server, Anda harus mengaktifkan port 25 atau port lainnya yang mendukung Send Mail Transfer Protocol (SMTP)
1. Mengirim email dari Virtual Private Server.
Pada code dibawah juga saya selipkan 'myserver.com', silahkan aktifkan baris tersebut dan menonaktifkan baris localhos untuk dapa mengirimkan email jika server Anda langsung pada IP publik.
Pada code dibawah juga saya selipkan 'myserver.com', silahkan aktifkan baris tersebut dan menonaktifkan baris localhos untuk dapa mengirimkan email jika server Anda langsung pada IP publik.
package tutmailb; 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 SendEmail { public static void main(String[] args) { System.out.println("mulai mengirim"); // Dikirimkan kepada... String to = "itsme@nitzaalfinas.com"; // Data pengirim String from = "nitza@myserver.com"; final String username = "nitza"; //username server final String password = "password"; //password server // mengirimkan email melalui vps String host = "localhost"; //mengirimkan email melalui server pribadi //String host = "myserver.com"; Properties props = new Properties(); props.put("mail.smtp.host", host); props.put("mail.smtp.port", "25"); // Get the Session object. Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { // Default MimeMessage object. Message message = new MimeMessage(session); // setFrom message.setFrom(new InternetAddress(from)); // header message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); // pesan message.setText("Halo... Ini pengirimain email melalui JavaMail ... "); //jika ingin mengirimkan email html, aktifkan baris berikut dan matikan baris diatas //message.setContent("Ini adalah email html
", "text/html"); // kirim email Transport.send(message); System.out.println("Saya keren dan telah sukses mengirimkan email... :D"); } catch (MessagingException e) { throw new RuntimeException(e); } } }
Compile kedalam bentuk jar. Misalnya; tutmailb.jar
Untuk menjalankan email diatas, buka terminal Anda dan ketik perintah Java seperti berikut;
$ java -jar tutmailb.jar
2. Mengirimkan email melalui Gmail
Mengirimkan email langsung dari akun gmail Anda juga memungkinkan dilakukan melalui server Anda. Tentunya user yang akan menerima akan melihat email yang dikirim melaui gmail. Tetapi gmail juga memberikan opsi anda untuk mengganti gmail anda dengan format namaanda@perusahaananda.com.
package tutmailb; 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 SendEmail { public static void main(String[] args) { System.out.println("mulai mengirim"); // Dikirimkan kepada... String to = "kepada@gmail.com"; // Data pengirim String from = "dari@gmail.com"; final String username = "dari";//username gmail final String password = "password";//password gmail // mengirimkan email melalui vps String host = "myserver.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", "25"); // Get the Session object. Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { // Default MimeMessage object. Message message = new MimeMessage(session); // setFrom message.setFrom(new InternetAddress(from)); // header message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); // pesan message.setText("Halo... Ini pengirimain email melalui JavaMail ... "); // kirim email Transport.send(message); System.out.println("Saya keren dan telah sukses mengirimkan email... :D"); } catch (MessagingException e) { throw new RuntimeException(e); } } }
Untuk menjalankannya, sama dengan cara diatas menggunakan terminal.
3. Selesai.
Berikut screenshot aplikasi diatas dari server aplikasi diatas.
Aplikasi sederhana diatas masih berjalan dengan command line. Mungkin pada tulisan selanjugnya saya akan bahas mengirimkan email dengan User Interface (UI).
Tidak ada komentar:
Posting Komentar