首先导入坐标
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </dependency> |
1.只发送正文
// 创建邮件服务连接
Session session = Session.getInstance(Properties props,new Authenticator(){
Return new PasswordAnthentication("发件人的邮箱","发件人的邮箱密码,注意密码为该邮箱SMTP服务器设置的授权码");
});
// 创建邮件
MimeMessage mail = new MimeMessage(session);
// 创建发件人
mail.setFrom(new InternetAddress("发件人的邮箱"));
// 创建收件人
mail.setRecipient(RecipientType.TO,new InternetAddress("收件人邮箱")); // RecipientType.TO 指定收件人或抄送或密送
// 设置标题
mail.setSubject("这是一封普通的测试邮件!");
// 创建正文
mail.setContent("html内容,可以使用html标签","text/html;charset=utf-8");
// 发送邮件
Transport.send(mail);
2.只发送附件
// 创建邮件服务连接
Session session = Session.getInstance(Properties props,new Authenticator(){
Return new PasswordAnthentication("发件人的邮箱","发件人的邮箱密码,注意密码为该邮箱SMTP服务器设置的授权码");
});
// 创建邮件
MimeMessage mail = new MimeMessage(session);
// 创建发件人
mail.setFrom(new InternetAddress("发件人的邮箱"));
// 创建收件人
mail.setRecipient(RecipientType.TO,new InternetAddress("收件人邮箱")); // RecipientType.TO 指定收件人或抄送或密送
// 设置标题
mail.setSubject("这是一封普通的测试邮件!");
// 创建附件 MimeBodyPart
MimeBodyPart body1 = new MimeBodyPart();
body1.attachFile(new File("c:\\java.txt")); // 此时文件名不包含中文字符
MimeBodyPart body2 = new MimeBodyPart();
body2.attachFile(new File("c:\\中国加油,武汉加油!.txt")); // 此时文件名包含中文字符,需要进行字符串编码
String name = "中国加油,武汉加油!.txt";
name = MimeUtility.encodeText(name);
body2.setFileName(name);
// 创建附件 MimeMultiPart
MimeMultiPart multis = new MimeMultiPart();
mutils.add(body1);
mutils.add(body2);
mail.setContent(multis);
// 发送邮件
Transport.send(mail);
3.发送附件 + 正文
// 创建邮件服务连接
Session session = Session.getInstance(Properties props,new Authenticator(){
Return new PasswordAnthentication("发件人的邮箱","发件人的邮箱密码,注意密码为该邮箱SMTP服务器设置的授权码");
});
// 创建邮件
MimeMessage mail = new MimeMessage(session);
// 创建发件人
mail.setFrom(new InternetAddress("发件人的邮箱"));
// 创建收件人
mail.setRecipient(RecipientType.TO,new InternetAddress("收件人邮箱")); // RecipientType.TO 指定收件人或抄送或密送
// 设置标题
mail.setSubject("这是一封普通的测试邮件!");
// 创建附件 MimeBodyPart
MimeBodyPart body1 = new MimeBodyPart();
body1.attachFile(new File("c:\\java.txt")); // 此时文件名不包含中文字符
MimeBodyPart body2 = new MimeBodyPart();
body2.attachFile(new File("c:\\中国加油,武汉加油!.txt")); // 此时文件名包含中文字符,需要进行字符串编码
String name = "中国加油,武汉加油!.txt";
name = MimeUtility.encodeText(name);
body2.setFileName(name);
// 添加正文
MimeBodyPart body3 = new MimeBodyPart();
bodys.setContent("html内容,可以使用html标签","text/html;charset=utf-8");
// 创建附件 MimeMultiPart
MimeMultiPart multis = new MimeMultiPart();
multis.add(body3,0); // 正文必须放在 MimeMultiPart 第一个位置
mutils.add(body1,1);
mutils.add(body2,2);
mail.setContent(multis);
// 发送邮件
Transport.send(mail);