EmailSenderService.java
2.73 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
package com.erry.iclear.dateInterface.service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.internet.*;
import java.util.*;
/**
* Created on 2017-9-22.
*/
@Slf4j
@Service("emailSenderService")
public class EmailSenderService {
@Value("${smtp_server}")
String smtpServer;
@Value("${smtp_account}")
String smtpAccount;
String smtpAccountName = "联邦快递中国";
@Value("${smtp_port}")
Integer smtpPort;
@Value("${send_email_msg}")
String sendEmailMsg;
@Value("${send_email_cc}")
String sendEmailCc;
/**
* 邮件发送
*
* @param bcc 暗送地址
* @param subject 邮件主题
* @param body 邮件正文
* @throws Exception
*/
public void sendMail(String bcc, String subject, String body) throws Exception {
if (this.sendEmailMsg == null || this.sendEmailMsg.length() == 0) {
return;
}
try {
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
senderImpl.setHost(this.smtpServer);
senderImpl.setUsername(null);
senderImpl.setPassword(null);
// senderImpl.setUsername(smtpAccount);
// senderImpl.setPassword(smtpPwd);
senderImpl.setPort(this.smtpPort);
Properties prop = new Properties();
// prop.put("mail.smtp.auth", smtpAuthType);
prop.put("mail.smtp.timeout", "60000");
senderImpl.setJavaMailProperties(prop);
MimeMessage mailMessage = senderImpl.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8");
InternetAddress[] internetAddressTo = InternetAddress.parse(this.sendEmailMsg);
messageHelper.setTo(internetAddressTo);
if (this.sendEmailCc != null && this.sendEmailCc.length() > 0) {
InternetAddress[] internetAddressCc = InternetAddress.parse(this.sendEmailCc);
messageHelper.setCc(internetAddressCc);
}
if (bcc != null && bcc.length() > 0) {
InternetAddress[] internetAddressBcc = InternetAddress.parse(bcc);
messageHelper.setBcc(internetAddressBcc);
}
messageHelper.setFrom(this.smtpAccount, this.smtpAccountName);
messageHelper.setSubject(subject);
messageHelper.setText(body, true);
senderImpl.send(mailMessage);
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}
}