JavaMail实现发送邮件功能

网友投稿 279 2023-04-16


JavaMail实现发送邮件功能

本文实例为大家分享了javaMail实现发送邮件功能的具体代码,供大家参考,具体内容如下

用java发邮件,必须要导入新的包

mail.jar – 发邮件的核心包

&nbPUStYaBrsp;    activation.jar – 对用户和密码加密.

在mail.jar中有三个核心类:

Javax.mail.Session – 是指与邮件服务器会话。整个项目中只要一个就可以了.

Javax.mail.Message(接口)  - 准备发送数据信息。

MimeMessage - 可以设置类型的数据信息。

&nbsphttp://;    Transport – 它拥有一个方法可以发送Message。

@Test

public void sendMail() throws Exception{

//1,声明properties对象放信息

Properties props = new Properties();

//设置连接哪一台服务器

props.setProperty("mail.host", "smtp.163.com");

//设置是否认证:

props.setProperty("mail.smtp.auth", "true");

//2,声明用户名和密码

Authenticator auth = new Authenticator(){

//返回用户名和密码对象

@Override

protected PaPUStYaBrsswordAuthentication getPasswordAuthentication() {

PasswordAuthentication pa = new PasswordAuthentication("xxxxx@163.com", "123456");

return pa;

}

};

//3,获取session对象

Session session = Session.getDefaultInstance(props, auth);

//设置session为调试模式

session.setDebug(true);

//4,声明信息

MimeMessage mm1 = new MimeMessage(session);

//5,设置发件人信息

Address form = new InternetAddress("xxxxx@163.com");

mm1.setFrom(form);

//6,设置收件人 ,RecipientType:发送,抄送,密送 类型

mm1.setRePUStYaBrcipient(RecipientType.TO, new InternetAddress("xxx@qq.com"));

//mm1.setRecipient(RecipientType.CC, new InternetAddress(""));//抄送

//7,设置主题

mm1.setSubject("拉面学习通知");

String cont = "请点击 官网新闻查看祝您发财";

mm1.setContent(cont, "text/html;charset=UTF-8");

//8,发送

Transport.send(mm1);

}

其中的mimeType可是text/plain纯文本。

发送附件:

@Test

public void sendMailWithFile() throws Exception{

Properties ps = new Properties();

ps.setProperty("mail.host", "smtp.163.com");

ps.setProperty("mail.smtp.auth", "true");

Authenticator auth = new Authenticator(){

@Override

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication("xxx@163.com","xxx.");

}

};

Session session = Session.getDefaultInstance(ps, auth);

session.setDebug(true);

MimeMessage msg = new MimeMessage(session);

Address address = new InternetAddress("xxx@163.com");

msg.setFrom(address);

//发送给

msg.setRecipient(RecipientType.TO, new InternetAddress("xxx@qq.com"));

msg.setRecipient(RecipientType.BCC, new InternetAddress("xxx@qq.com"));//密送

msg.setRecipient(RecipientType.CC, new InternetAddress("xxx@qq.com"));//抄送

msg.setSubject("$激情小视频*免费观看");

//声明多部件处理

MimeMultipart mm = new MimeMultipart();

MimeBodyPart body1 = new MimeBodyPart();

//设置附件

DataSource ds1 = new FileDataSource(new File("./img/a.jpg"));

DataHandler dh1 = new DataHandler(ds1);

body1.setDataHandler(dh1);

//必须设置名称

body1.setFileName(MimeUtility.encodeText("美女.jpg"));

MimeBodyPart body2 = new MimeBodyPart();

DataSource ds2 = new FileDataSource(new File("./img/b.jpg"));

DataHandler dh2 = new DataHandler(ds2);

body2.setDataHandler(dh2);

body2.setFileName(MimeUtility.encodeText("美女2.jpg"));

MimeBodyPart body3 = new MimeBodyPart();

DataSource ds3 = new FileDataSource(new File("./img/m.mp3"));

DataHandler dh3 = new DataHandler(ds3);

body3.setDataHandler(dh3);

body3.setFileName(MimeUtility.encodeText("小电影.mp3"));

//添加body到mm

mm.addBodyPart(body1);

mm.addBodyPart(body2);

mm.addBodyPart(body3);

msg.setContent(mm);

//设置发送日期

Calendar c = Calendar.getInstance();

c.add(Calendar.DATE, -5);

msg.setSentDate(c.getTime());

//发送

Transport.send(msg);

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:webpack学习笔记之优化缓存、合并、懒加载
下一篇:spring自定义注解实现拦截器的实现方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~