Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

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

[JavaMail] Kirim Attachment File

[JavaMail] Mengutus Attachment File - Yaum ini kasdu catat melanggar javamail, merupakan mengirim file menyedot javamail. Sepakat dekat postingan kemarin sore pernah dibahas minim mengenai javamail. Bersama postingan darab ini melalui imbuhan file nan mau dikirim. Kategoris cuma ke aba-aba.



import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource; 
import javax.mail.Authenticator; 
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;

/**
 *
 * @author user
 */

public class SendFileEmail {

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

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

        // Setup mail server
        Properties properties = new Properties();
        properties.put("mail.smtp.host", "mail.officemail.com");
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.debug", "true");
        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@officemail.com", "xxxxxx");
            }
        });

        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("Test Java Non File!");

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

            // Fill the message
            messageBodyPart.setText("Hello Ardi!!!");

            // Create a multipar message
            Multipart multipart = new MimeMultipart();

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

            // Part two is attachment
            messageBodyPart = new MimeBodyPart();
            String filename = "Text.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();
        }
    }
}
Daripada code ala arah nampak jelas apabila palar menjalankan attachment file, kita cakap memakai class DataSource, BodyPart beserta MimeBodyPart.

Layak sekian dari hamba. Bilamana sedikit jelas pandai dilihat pada pada link ini.

Wasslama :senyum

Wednesday, July 4, 2018

Cron dekat Java

Awal ini bersedia catat bab pencatatan pada java. Bakal itu kita menghabiskan library cron4j. Tepat aja kita ke aba-aba betul. - Cron dekat Java




import it.sauronsoftware.cron4j.Scheduler;

public class Quickstart {

    public static void main(String[] args) {
        // Creates a Scheduler instance.
        Scheduler s = new Scheduler();
        // Schedule a once-a-minute task.
        s.schedule("* * * * *", new Runnable() {
            public void run() {
                System.out.println("Another minute ticked away...");
            }
        });
        // Starts the scheduler.
        s.start();
        // Will run for ten minutes.
        try {
            Thread.sleep(1000L * 60L * 10L);
        } catch (InterruptedException e) {
            ;
        }
        // Stops the scheduler.
        s.stop();
    }

}


Run :
Another minute ticked away...
Another minute ticked away...
(Setiap menit akan print out Another minute ticked away )
<br />
Penjelasannya ;<br />
<br />
- Tentang terutama dari cron4j merupakan kita menyedot class Scheduler<br />
<br />
- Selain class Scheduler, kita lagi membonceng class Runnable alias kita dapat mendeklerasikan class beda maka mengimplement class Runnable mendapatkan dimasukan ke object schedule<br />
<br />
- Berjalan pembatasan * * * * * dalam tempat sama serupa kriteria masa, itu artinya setiap menit schedule ini memangku class nan dekat dimasukan atas object schedule<br />
<br />
- Selepas tolok ukur schedule telah atas putaran, kita kuasa membuka schdulenya dengan mengonsumsi methode start<br />
<br />
- Dengan mendapatkan memberhentikannya kita nunggangi methode stop<br />
<br />
- Selama penjelasan pembatasan era, larat dilihat pada doc cron4j<br />
<br />
<br />
Mudah lain. Sekian penjelasan kami. Jika siap nan sedikit memahami silahkan kerosek pada google :senyum. Wassalam.