1、邮件发送-工具类
1、邮件发送服务-QQ报警
1-1、举例代码:
public void sendMailAlarmQq(String subject, String content, List<String> toAddress) throws MessagingException {
// 创建Properties 类用于记录邮箱的一些属性
Properties props = new Properties();
// 表示SMTP发送邮件,必须进行身份验证
props.put("mail.smtp.auth", "true");
// 此处填写SMTP服务器
props.put("mail.smtp.host", "smtp.qq.com");
// 端口号,QQ邮箱给出了两个端口,但是另一个我一直使用不了,所以就给出这一个587
props.put("mail.smtp.port", "587");
// 此处填写你的账号
props.put("mail.user", "2628598206@qq.com");
// 此处的密码就是前面说的16位STMP口令,要先在QQ邮箱里开启SMTP服务
props.put("mail.password", "kophgxzhujloeaja");
// 构建授权信息,用于进行SMTP进行身份验证
Authenticator authenticator = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
// 用户名、密码
String userName = props.getProperty("mail.user");
String password = props.getProperty("mail.password");
return new PasswordAuthentication(userName, password);
}
};
// 使用环境属性和授权信息,创建邮件会话
Session mailSession = Session.getInstance(props, authenticator);
// 创建邮件消息
MimeMessage message = new MimeMessage(mailSession);
//message.addHeader("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");
// 设置发件人
InternetAddress form = new InternetAddress(props.getProperty("mail.user"));
message.setFrom(form);
// 设置邮件标题
message.setSubject(subject);
// 设置邮件的内容体
message.setContent(content, "text/html;charset=UTF-8");
for (String address:toAddress) {
// 设置收件人的邮箱
InternetAddress to = new InternetAddress(address);
message.setRecipient(RecipientType.TO, to);
// 发送邮件
Transport.send(message);
}
}
2、邮件发送服务
@Value("${email.name}")
private String emailName;
@Value("${email.password}")
private String emailPassword;
Properties prop = new Properties();
prop.put("mail.host", "smtp.aliyun.com");
prop.put("mail.smtp.port", "465");
//prop.put("mail.smtp.port","25");
prop.put("mail.smtp.auth", "true");
prop.put("mail.transport.protocol", "smtp");
prop.put("mail.smtp.ssl.enable", "true");
Session session = Session.getInstance(prop);
session.setDebug(false);
Transport ts = session.getTransport();
ts.connect(emailName, emailPassword);
Message message = new MimeMessage(session);
message.setSentDate(new Date());
message.setFrom(new InternetAddress(emailName, subject));
message.setSubject(subject);
message.setContent(content, "text/html;charset=utf-8");
for(String str : toAddress) {
message.setRecipient(RecipientType.TO, new InternetAddress(str));
ts.sendMessage(message, message.getAllRecipients());
}