邮件jar包下载:https://pan.baidu.com/s/1r8LKt3HWUIxFoxLg4OVFJg 密码:ysiw
接受邮件的协议:POP3 IMAP
发送邮件的协议:SMTP
Test.java(测试类):
package com.xxx.mail;
import javax.mail.MessagingException;
import javax.mail.internet.AddressException;
public class Test {
public static void main(String[] args) throws AddressException, MessagingException {
MailUtils.sendMail("[email protected]", "邮件主题","邮件内容"); // lucy是接收者
}
}
MailUtils.java(发送邮件的工具类):
package com.xxx.utils;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
public class MailUtils {
//email:邮件发给谁; subject:主题; emailMsg:邮件的内容
public static void sendMail(String email, String subject, String emailMsg)throws AddressException, MessagingException {
// 1、创建一个程序与邮件服务器会话对象 Session
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "SMTP");//发邮件的协议
props.setProperty("mail.host", "localhost"); //发送邮件的服务器地址。(localhost根据需求修改)
props.setProperty("mail.smtp.auth", "true"); // 指定验证为true
// 创建验证器
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("tom", "12345");//发邮件的账号的验证。 12345表示密码
}
};
// mail.jar包中的Session。和web中的session不一样。
Session session = Session.getInstance(props, auth);
// 2、创建一个Message,它相当于是邮件内容
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]")); // 设置发送者。 (根据需求修改)
message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 设置发送方式与接收者
message.setSubject(subject);//邮件的主题
message.setContent(emailMsg, "text/html;charset=utf-8");
// 3、创建 Transport用于将邮件发送
Transport.send(message);
}
}