Monday, July 9, 2018

[JavaMail] Kirim Email di Java

[JavaMail] Kirim Email di Java - Hari ini mau tulis perihal kirim email di java. Hal - hal yg perlu diketahui pada mengirim email memakai javamail merupakan :

- Download javaxmail

- Seting propertis

- Menambahkan certificate ke keystore yg kita punya

Oke pribadi aja kita kode ya



import java.util.Properties;
import javax.mail.Authenticator;
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;
/**
 *
 * @author user
 */

public class SendEmail {

    public static void main(String[] args) {
        // Recipient's email ID needs to be mentioned.
        String to = "accountTo@gmail.com";
        // Sender's email ID needs to be mentioned
        String from = "accountFrom@gmail.com";
        // Assuming you are sending email from localhost
        String host = "
smtp.gmail.com";

        // Get system properties
        Properties properties = new Properties();
        properties.put("mail.smtp.host", host);
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.debug", "false");
        properties.put("mail.smtp.ssl.enable", "true");
        properties.put("mail.smtp.port", "465");

        // Get the default Session object.
        Session session = Session.getDefaultInstance(properties, new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("accountFrom@gmail.com", "mypassword");
        }});

        try {
            // Create a default MimeMessage object.
            MimeMessage message = new MimeMessage(session);

            // Set From: header field of the header.
            message.setFrom(
new InternetAddress(from));

            // Set To: header field of the header.
            message.addRecipient(Message.RecipientType.TO,
                   
new InternetAddress(to));

            // Set Subject: header field
            message.setSubject("This is the Subject Line!");

            // Now set the actual message
            message.setText("This is actual message");

            // Send message
            Transport.send(message);
            System.out.println("Sent message successfully....");
        } catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
}

jikalau tak ada error code, ketika dijalankan seharusnya ada email dari accountFrom kepada accountTo. Oh iya ini aku  coba di eclipse.
menjadi tambahan isu, Jika menggunakan netbeans tak perlu menambahkan certificate ke keystore (kecuali Bila certificate mail servernya belum terdapat di keystore). kemudian Bila tidak muncul error ketika dijalankan tapi email tidak terkirim, cobalah buat set "true" pada "mail.debug", yakni terdapat di properties.
Sekian asal saya, jikalau ada yg kurang bisa ditinjau di link ini.
Wassalam :senyum

Artikel Terkait


EmoticonEmoticon