-
Notifications
You must be signed in to change notification settings - Fork 0
/
program udah ada comment.txt
83 lines (68 loc) · 3.55 KB
/
program udah ada comment.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package cobaThread;
/**
*
* @author ASUS
*/
import java.io.UnsupportedEncodingException;
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.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMail1 implements Runnable { // didalam kelas sendemail mengimplementasi kan beberapa fungsi yang ada di dalam interface runnable
//
final String username = "[email protected]"; // deklarasi email pengirim pesan
final String password = "auldianindah"; // deklarasi password email pengirim pesan
String subject;
public static void main(String[] args) {
for (int i=0;i<3;i++) { // pengulangan pengiriman email.
SendMail1 mail = new SendMail1 (); // membuat object mail di dalam method SendEmail.
mail.setSubject("Test Email Thread " + i); // setiap subject yang terkirim bertambah 1 dan akan sesuai sesuai pengulangan.
Thread tr = new Thread (mail); // object mail menerapkan Thread dan membuat object tr
tr.start(); // thread di mulai
}
}
public String setSubject (String sub) { // untuk menampung subject karena subject harus berbeda- beda.
return this.subject=sub; //
}
public void send () { // menthod send () dimana di dalamnya mengimplementasikan
Properties props = new Properties();
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
Message message = new MimeMessage(session); // membuat object baru (message)
message.setFrom(new InternetAddress("[email protected]")); // email pengirim
message.setRecipients(Message.RecipientType.TO,
//email penerima email(pesan)
InternetAddress.parse("[email protected], [email protected], [email protected], [email protected]"));
message.setSubject(subject); // mengisi subject pada email yang akan di kirim
message.setText("Semangat Tugas OOP nya ya," // pesan atau isi yang akan di kirimkan kepada penerima email
+ "\n\n Pasti Bisa!");
Transport.send(message); // mengirimkan pesan
System.out.println("Email Terkirim"); // status yang akan di tampilkan jika pesan berhasil di kirimkan.
} catch (MessagingException e) {
throw new RuntimeException(e); // batasan waktu dalam memperoses pengiriman pesan, jika proses terjadi melebihi waktu makan proses dinyatakan gagal
}
}
@Override
public void run() { // menjalanan method run untuk mengirim email
this.send();
}
}