JAVA发邮件的方式有很多种,这里使用JavaMail发送。
要求发件人的邮箱开启了SMTP。。
JavaMail包下载地址:http://www.oracle.com/technetwork/java/javamail/index-138643.html
package com.mail;
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.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMail {
public static void send() {
Properties prop = new Properties();
// 身份验证协议设置
prop.setProperty("mail.smtp.auth", "true");
// 发送协议设置
prop.setProperty("mail.transport.protocol", "smtp");
// 设置smtp服务器
prop.setProperty("mail.host", "smtp.qq.com");
// 建立会话
Session session = Session.getInstance(prop, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
// 邮箱密码设置
return new PasswordAuthentication("发件人用户名", "发件人密码");
}
});
Message message = new MimeMessage(session);
try {
// 发件人的邮箱的设置
message.setFrom(new InternetAddress("发件人邮箱"));
// 设置邮箱主题
message.setSubject("邮件的主题");
// 设置发送内容,将格式设置为html或文本格式,编码为UTF-8
message.setContent("邮件内容", "text/html;charset=UTF-8");
// 收件人设置,可以同时有多个收件人,用","隔开,有收件人(TO)、抄送(CC)和密送(BCC)
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("收件人1,收件人2"));
// 跟踪发送信息
session.setDebug(true);
// 发送信息开始
Transport.send(message);
System.out.println("邮件发送成功");
} catch (MessagingException e) {
System.out.println("邮件发送失败");
e.printStackTrace();
}
}
public static void main(String[] args) {
send();
}
}