例子根据163邮箱进行测试,测试成功
第一步:开启网易邮箱POP3服务和IMAP服务。登录网易邮箱-->设置-->POP3/SMTP/IMAP-->设置客户端授权码。
第二步:准备jar包。activation.jar和mail.jar,可去 CSDN 0积分下载
第三步:新建java文件。Email.java
import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message.RecipientType;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class Email { public static void main(String[] args) throws MessagingException { // 配置发送邮件的环境属性 final Properties props = new Properties(); // 表示SMTP发送邮件,需要进行身份验证 props.put("mail.smtp.auth", "true"); props.put("mail.smtp.host", "smtp.163.com"); // 发件人的账号 props.put("mail.user", "此处输入你的163账号"); // 访问SMTP服务时需要提供的密码 props.put("mail.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); // 设置发件人,此发件人就是上面输入的账号 InternetAddress form = new InternetAddress( props.getProperty("mail.user")); message.setFrom(form); // 设置收件人 InternetAddress to = new InternetAddress("此处输入你的收件人账号"); message.setRecipient(RecipientType.TO, to); // 设置邮件标题 message.setSubject("测试邮件"); // 设置邮件的内容体 message.setContent("测试的HTML邮件", "text/html;charset=UTF-8"); // 发送邮件 Transport.send(message); }}