JavaMail的使用

首先导入坐标

<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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值