Java邮件发送的简单实现步骤如下:
1、构建一个集成自javax.mail.Authentication的具体类,用作登录验证,以确保对该邮箱有发送邮件的权利。
2、构建一个Properties文件,存放SMTP服务器地址等参数。
3、通过Properties和Authenticator构建一个javax.mail.Session对象,相当于登录邮箱。
4、构建邮件内容,使用javax.mail.internet.MimeMessage对象,指定发送人,收件人,主题,内容等。
5、使用javax.mail.Transport工具类发送邮件。
具体代码如下:
package com.tuan.test;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
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.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class JavaMailDemo {
public static void main(String[] args) {
Properties props = new Properties();
//是否需要验证
props.setProperty("mail.smtp.auth", "true");
//发送邮件服务器
props.setProperty("mail.smtp.host", "smtp.126.com");
//使用匿名内部类,用邮箱进行验证
Session session = Session.getInstance(props, new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
//通过用户名和密码进行验证
return new PasswordAuthentication("mailsender@126.com", "password");
}
});
Message message = new MimeMessage(session);
try {
//设置邮件发送方
message.setFrom(new InternetAddress("mailsender@126.com"));
//设置邮件标题
message.setSubject("测试");
//设置邮件内容
message.setContent("测试","text/html;charset=utf-8");
//设置邮件接收方
message.addRecipient(RecipientType.TO, new InternetAddress("mailreceive@126.com"));
//发送邮件
Transport.send(message);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}