Bagaimana Mengirim e-mail Di Java (Netbeans Project Open Source)



Kenapa Kirim email pake program

Dalam beberapa kasus pengerjaan system beberapa costumer menginkan agar terdapat fitur untuk mengirim email dari aplikasi pesanan nya. Kali ini saya akan menjelaskan bagaimana cara mengirim email menggunakan java. Sebelumnya kita membutuh kan beberapa librari yaitu smtp.jar dan mailapi.jar.

Cara Import Library Java

Setelah di Download add lah librari ke dalam project anda. Karena ribet kalo kita buat semuanya sendiri maka mereka para master sudah menyiapkan library yang membantu kita buat mengembang kan aplikasi salah satunya buat kirim email pake java. caranya Clik kanan di library>Add JAR/Folder.


Buat Class kirim Email

Lalu buat lah sebuah class untuk mengirim email. Class ini berisi setingan alamat email yang akan dipakai untuk mengirim email juga buat email yang menerima juga pasword email nya dan configurasi lainnya. Dengan Source Seperti berikut :
package utility;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.swing.JOptionPane;
import model.Master.ModelEmail;

/**
 *
 * @author User
 */
public class kirimemail {
   Calendar tgl= Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    model.Master.ModelEmail model=new ModelEmail();
    public void kirim(String Judul,String awal,String Akhir){
        model.tampil();
    try{
      final String from = model.getPengirim(); //email pengirim
    String to = model.getPenerima(); // email penerima
    String host = "127.0.0.1"; //alamat server SMTP
    String subject = Judul+awal+Akhir; //subject
    final String pass=model.getPass();
    Properties properties = System.getProperties();
   properties.put("mail.smtp.host","smtp.gmail.com");
            properties.put("mail.smtp.auth","true");
            properties.put("mail.smtp.ssl.enable","true");
            properties.put("mail.smtp.port", "465");//default port dari smptp

    Session session = Session.getDefaultInstance(properties,

                    new javax.mail.Authenticator() {

                        protected PasswordAuthentication getPasswordAuthentication() {

                            return new PasswordAuthentication(

                                    from, pass);

                                                                               

                        }

                    });
try {
       MimeMessage message = new MimeMessage(session); // email message
       message.setFrom(new InternetAddress(from));   // setting header fields
       message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
       message.setSubject(subject); // subject line
         // Create the message body part
         BodyPart messageBodyPart = new MimeBodyPart();

         // Fill the message
         messageBodyPart.setText(""+sdf.format(tgl.getTime()));
       Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(messageBodyPart);
        messageBodyPart = new MimeBodyPart();
         String filename = "D:/data/"+Judul+awal+"-"+Akhir+".pdf";
         DataSource source = new FileDataSource(filename);
         messageBodyPart.setDataHandler(new DataHandler(source));
         messageBodyPart.setFileName(filename);
         multipart.addBodyPart(messageBodyPart);
       // actual email body
    
       message.setContent(multipart);
       // Send message
       Transport.send(message);
     JOptionPane.showMessageDialog(null,"Email Terkirim!!!");
    } catch (MessagingException me) {
       me.printStackTrace();
    }
        } catch (Exception e) {
            e.printStackTrace();
        }
}

Gabungin kerim email dengan Konvert pdf pake library jReport

Biasanya kalo kirim email yang dikirim kan laporan nah gak mungkin kan kita ngirim laporan pake file yang susah dibaca sama user makanya kita gabungin ireport ke aplikasi kita jadi kita bisa ngirim laporannya berupa pdf yang gampang dibuka di komputer user. Kita dapat menggabungkan nya dengan convert jrxml ke pdf menggunakannya Jasper ireport seperti ini
public void email(File x,String awal,String Akhir){
        try {
          jasperDesign1 = JRXmlLoader.load(x);
          jasperReport1 = JasperCompileManager.compileReport(jasperDesign1);
           jasperPrint1 = JasperFillManager.fillReport(jasperReport1, param,utility.koneksi.getconnetion());
         JasperExportManager.exportReportToPdfFile(jasperPrint1,  "D:/data/"+Judul+awal+"-"+Akhir+".pdf");
           //JasperViewer.viewReport(jasperPrint1,false);
         new kirimemail().kirim(Judul,awal,Akhir);
        } catch (JRException ex) {
          System.out.printf(Judul,ex);
        }
}

Setingan email yang di pakai 

Untuk mengunakan cara ini harus merubah keamanan gmail untuk mengizinkan akses aplikasi kurang aman. Berhubung kita masih di tahap developer jadi kita agak ada beberapa persiapan di email yang bakal kita pakai nanti ya itu ke amanan di gmailnya semtara ini ane masih pake gmail buat bikin emailnya gan.




Untuk untuk download project klik di sini 
Sekian dulu gan artike ane semoga bisa bermanfaat buat agan agan sekalian

Terimakasih
  

0 Comments