-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathEmailUtil.java
More file actions
100 lines (78 loc) · 3.14 KB
/
EmailUtil.java
File metadata and controls
100 lines (78 loc) · 3.14 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package Jvakt;
/*
* 2022-06-23 V.54 Michael Ekdal Added getVersion() to get at consistent version throughout all classes.
*/
import java.time.LocalDateTime;
import java.util.Date;
import jakarta.mail.Message;
//import jakarta.mail.internet.*;
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.Session;
import jakarta.mail.Transport;
//import jakarta.mail.internet.InternetAddress;
import jakarta.mail.BodyPart;
import jakarta.mail.Multipart;
import jakarta.mail.internet.MimeBodyPart;
import jakarta.mail.internet.MimeMessage;
import jakarta.mail.internet.MimeMultipart;
import jakarta.activation.DataSource;
import jakarta.activation.FileDataSource;
import jakarta.activation.DataHandler;
public class EmailUtil {
public static boolean sendEmail(Session session, String toEmail, String subject, String body, String fromEmail){
try
{
MimeMessage msg = new MimeMessage(session);
//set message headers
msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
msg.addHeader("format", "flowed");
msg.addHeader("Content-Transfer-Encoding", "8bit");
msg.setFrom(new InternetAddress(fromEmail, fromEmail));
msg.setReplyTo(InternetAddress.parse(fromEmail, false));
msg.setSubject(subject, "UTF-8");
// msg.setText(body, "UTF-8");
msg.setContent(body,"text/html");
msg.setSentDate(new Date());
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail, false));
System.out.println(LocalDateTime.now()+" - Message is ready");
Transport.send(msg);
}
catch (Exception e) {
e.printStackTrace();
System.out.println(LocalDateTime.now()+" - EMail failed!! \n "+e );
return false;
}
System.out.println(LocalDateTime.now()+" - EMail Sent Successfully!!");
return true;
}
public static boolean sendEmail(Session session, String toEmail, String subject, String body, String fromEmail, String attach){
try
{
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(fromEmail, fromEmail));
msg.setReplyTo(InternetAddress.parse(fromEmail, false));
msg.setSubject(subject, "UTF-8");
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(body);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(attach);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(source.getName());
multipart.addBodyPart(messageBodyPart);
msg.setContent(multipart);
msg.setSentDate(new Date());
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail, false));
System.out.println(LocalDateTime.now()+" - Message with attachment is ready");
Transport.send(msg);
}
catch (Exception e) {
e.printStackTrace();
System.out.println(LocalDateTime.now()+" - EMail with attachment failed!!\n "+e );
return false;
}
System.out.println(LocalDateTime.now()+" - EMail with attachment Sent Successfully!!");
return true;
}
}