Monday 12 October 2015

cara mengirim email di Java

Untuk mengirim e-mail menggunakan aplikasi Java Anda cukup sederhana tapi untuk memulai dengan Anda harus memiliki JavaMail API dan Java Kerangka Aktivasi (JAF) diinstal pada mesin Anda.

Anda dapat men-download versi terbaru dari JavaMail (Versi 1.2) dari website standar Java.

Anda dapat men-download versi terbaru dari JAF (Versi 1.1.1) dari website standar Java.

Download dan unzip file ini, di direktori tingkat atas yang baru dibuat Anda akan menemukan sejumlah file jar untuk kedua aplikasi. Anda perlu menambahkan mail.jar dan file activation.jar di CLASSPATH Anda.

Kirim Sederhana E-mail:
Berikut adalah contoh untuk mengirim e-mail sederhana dari mesin Anda. Berikut diasumsikan bahwa localhost Anda terhubung ke internet dan cukup mampu untuk mengirim email.

// File Name SendEmail.java

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendEmail
{
   public static void main(String [] args)
   {    
      // Recipient's email ID needs to be mentioned.
      String to = "abcd@gmail.com";

      // Sender's email ID needs to be mentioned
      String from = "web@gmail.com";

      // Assuming you are sending email from localhost
      String host = "localhost";

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);

      // Get the default Session object.
      Session session = Session.getDefaultInstance(properties);

      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();
      }
   }
}

mengkompilasi dan menjalankan program ini untuk mengirim e-mail sederhana:

$ java SendEmail
Sent message successfully....

Jika Anda ingin mengirim e-mail ke beberapa penerima kemudian metode berikut akan digunakan untuk menentukan beberapa ID e-mail:

void addRecipients(Message.RecipientType type, Address[] addresses)throws MessagingException

Berikut adalah deskripsi dari parameter:

Jenis: ini akan diatur ke TO, CC atau BCC. Berikut CC merupakan Carbon Copy dan BCC merupakan Hitam Carbon Copy. misalnya Message.RecipientType.TO

alamat: ini adalah array ID email. Anda akan perlu menggunakan InternetAddress () metode sementara menetapkan ID email

Mengirim HTML E-mail:
Berikut adalah contoh untuk mengirim email HTML dari mesin Anda. Berikut diasumsikan bahwa localhost Anda terhubung ke internet dan cukup mampu untuk mengirim email.

Contoh ini sangat mirip dengan yang sebelumnya, kecuali di sini kita menggunakan setContent () metode untuk mengatur konten yang Argumen kedua adalah "text / html" untuk menentukan bahwa isi HTML disertakan dalam pesan.

Menggunakan contoh ini, Anda dapat mengirim sebesar HTML konten yang Anda suka.

// File Name SendHTMLEmail.java

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendHTMLEmail
{
   public static void main(String [] args)
   {
      
      // Recipient's email ID needs to be mentioned.
      String to = "abcd@gmail.com";

      // Sender's email ID needs to be mentioned
      String from = "web@gmail.com";

      // Assuming you are sending email from localhost
      String host = "localhost";

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);

      // Get the default Session object.
      Session session = Session.getDefaultInstance(properties);

      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!");

         // Send the actual HTML message, as big as you like
         message.setContent("<h1>This is actual message</h1>", "text/html" );

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

Mengkompilasi dan menjalankan program ini untuk mengirim e-mail HTML:

$ java SendHTMLEmail
Sent message successfully....

Kirim Lampiran di E-mail:
Berikut adalah contoh untuk mengirim email dengan lampiran dari mesin Anda. Berikut diasumsikan bahwa localhost Anda terhubung ke internet dan cukup mampu untuk mengirim email.

// File Name SendFileEmail.java

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendFileEmail
{
   public static void main(String [] args)
   {
      
      // Recipient's email ID needs to be mentioned.
      String to = "abcd@gmail.com";

      // Sender's email ID needs to be mentioned
      String from = "web@gmail.com";

      // Assuming you are sending email from localhost
      String host = "localhost";

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);

      // Get the default Session object.
      Session session = Session.getDefaultInstance(properties);

      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!");

         // Create the message part 
         BodyPart messageBodyPart = new MimeBodyPart();

         // Fill the message
         messageBodyPart.setText("This is message body");
         
         // Create a multipar message
         Multipart multipart = new MimeMultipart();

         // Set text message part
         multipart.addBodyPart(messageBodyPart);

         // Part two is attachment
         messageBodyPart = new MimeBodyPart();
         String filename = "file.txt";
         DataSource source = new FileDataSource(filename);
         messageBodyPart.setDataHandler(new DataHandler(source));
         messageBodyPart.setFileName(filename);
         multipart.addBodyPart(messageBodyPart);

         // Send the complete message parts
         message.setContent(multipart );

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

Mengkompilasi dan menjalankan program ini untuk mengirim e-mail HTML:

$ java SendFileEmail
Sent message successfully....

Otentikasi pengguna Bagian:
Jika diperlukan untuk memberikan user ID dan Password untuk server e-mail untuk tujuan otentikasi maka Anda dapat mengatur properti ini sebagai berikut:

 props.setProperty("mail.user", "myuser");
 props.setProperty("mail.password", "mypwd");

Sisa e-mail mengirimkan mekanisme akan tetap seperti yang dijelaskan di atas.

No comments:

Post a Comment