导入两个JAR包:
activation.jar
mail.jar
package cn.mail;
import java.io.File;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
public class SendMail {
public static void main(String[] args) throws Exception {
/**
* 1、得到Session
*/
Properties properties = new Properties();
properties.setProperty( "mail.host", "smtp.163.com" );// 指定邮箱服务器名称
properties.setProperty( "mail.smtp.auth", "true" );// 指定是否需要认证
// 创建认证器对象
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("*****", "*****");// 用户名(@之前)和密码
}
};
Session session = Session. getInstance(properties, authenticator);
/**
* 2、创建邮件对象
*/
MimeMessage msg = new MimeMessage(session);// 创建邮件对象
// 设置发件人
msg.setFrom( new InternetAddress("*****@163.com" ));
// 设置收件人 TO -- 收件人;CC -- 抄送人;BCC -- 密送人
msg.addRecipients(RecipientType. TO, "*****@qq.com" );
// msg.addRecipients(RecipientType.CC, "***** @qq.com");
// msg.addRecipients(RecipientType.BCC, "***** @qq.com");
// 设置主题
msg.setSubject( "JAVA发送邮件测试!" );
/***************** 不带附件的邮件 *************************/
// 设置正文
// msg.setContent("邮件发送测试`````````~~~~~~~", "text/html;charset=utf-8");
/***************** 不带附件的邮件 *************************/
/***************** 带附件的邮件 *************************/
MimeMultipart partList = new MimeMultipart();
// 向partList中添加部件
MimeBodyPart part1 = new MimeBodyPart();// 创建一个部件!
// 设置部件的内容
part1.setContent( "带附件邮件测试" , "text/html;charset=utf-8" );
// 把部件添加到集合中
partList.addBodyPart(part1);
// 向partList中添加部件
MimeBodyPart part2 = new MimeBodyPart();// 创建一个部件!
// 设置附近文件
part2.attachFile( new File("d:/摩托车.jpg" ));
// 设置附件名称,并处理编码
part2.setFileName(MimeUtility. encodeText("摩托车.jpg"));
// 把部件添加到集合中
partList.addBodyPart(part2);
// 把集合设置为邮件的主体!
msg.setContent(partList);
/***************** 带附件的邮件 *************************/
/**
* 3、发送邮件
*/
Transport. send(msg);
}
}