package emailTool;
import org.junit.Test;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
import java.util.Scanner;
/**
* 邮件下发工具类
*/
public final class MailUtils {
private static final String USER = "3052410459@qq.com"; // 发件人称号(邮箱地址)
private static final String PASSWORD = "sbsvalbiaztddegf"; // 客户端授权码或登录密码
/**
* 发送邮件
*
* @param to 收件人邮箱
* @param text 邮件正文
* @param title 标题
*/
public static boolean sendMail(String to, String text, String title) {
try {
final Properties props = new Properties();
props.put("mail.smtp.auth", "true"); // 邮箱建置
props.put("mail.smtp.host", "smtp.qq.com");
props.put("mail.user", USER); // 发件人账号
props.put("mail.password", PASSWORD); // 发件人密码
// 构建授权信息,用于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); // 创建邮件消息
String username = props.getProperty("mail.user"); // 设置发件人
InternetAddress form = new InternetAddress(username);
message.setFrom(form);
/**
* 设置收件人
*/
InternetAddress toAddress = new InternetAddress(to);
message.setRecipient(Message.RecipientType.TO, toAddress);
message.setSubject(title); // 设置邮件标题
message.setContent(text, "text/html;charset=UTF-8"); // 设置邮件的内容体编码风格
Transport.send(message); // 发送邮件
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* 邮件下发测试
*
* @param args
* @throws Exception
*/
@Test
public void test() {
Scanner sc = new Scanner(System.in);
System.out.print("标题:");
String title = sc.next();
System.out.print("收件人:");
String recipient = sc.next();
System.out.println("邮件编辑:");
String content = sc.next();
MailUtils.sendMail(recipient, content, title);
System.out.println("\n提示:邮件下发成功!");
sc.close();
}
}
Java使用代码向指定的邮箱发送邮件
最新推荐文章于 2024-06-30 08:15:00 发布