package com.practice.utils;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class MailUtil {
public static void sendMail(String toEmail, String emailMsg) throws Exception {
//1_创建Java程序与163邮件服务器的连接对象
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.163.com");//设置发送方邮箱服务器
props.put("mail.smtp.auth", "true");//设置是否需要身份证
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
//发送方服务器账号设置
//需要在163官方邮箱服务器,开启设置——>POP3/SMTP/IMAP服务能让其在本地客户端上收发邮件
//QQ邮箱——>设置——>账号管理——>开启
//开启后,需要验证密保,发送相关内容后会弹出密码
return new PasswordAuthentication("13717594444@163.com", "MNWQYIDAUKNKOYHQ");
}
};
Session session = Session.getInstance(props, auth);
//2_创建一封邮件
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("13717594444@163.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));
message.setSubject("免密找回");
message.setContent(emailMsg, "text/html;charset=UTF-8");
//3_发送邮件
Transport.send(message);
}
//测试类
public static void main(String[] args) throws Exception{
String toEmail = "10648804567@qq.com";
String emailMsg = "测试一下23r322";
sendMail(toEmail,emailMsg);
System.out.println("发送成功。。。");
}
}
邮箱服务器
会识别恶意攻击/垃圾邮件发送方拉入黑名单:明确禁止接收邮件的发送方
解决方法:收信方放入白名单,明确可以接收邮件的发送方直接禁用IP,则发送方再无法使用该邮箱服务器发送邮件群发邮件
类似代理模式
动态使用IP发送邮件第三方邮箱服务器
SendCloud需要大量邮件发送功能单发/群发/代理发送



