HtmlEmail

发送邮件有两个类 HtmlEmail和子类ImageHtmlEmail,ImageHtmlEmail用于发送带图片的邮件

1、创建一个邮件的对象。

  ImageHtmlEmail mail = new ImageHtmlEmail();

2、定义邮件正文中支持的内容,mail提供了setDataSourceResolver方法添加支持的内容,这里用到DataSourceResolver类的子类DataSourceBaseResolver的几个子类

  DataSourceFileResolver  用于解析本地图片

  DataSourceUrlResolver   用于解析网络图片

  DataSourceCompositeResolver  构造方法支持多个DataSourceResolver的数组

  DataSourceClassPathResolver   

DataSourceResolver[] dataSourceResolvers = new DataSourceResolver[] { new DataSourceFileResolver(), new DataSourceUrlResolver(new URL("http://"))};
mail.setDataSourceResolver(new DataSourceCompositeResolver(dataSourceResolvers));

 

3、发送邮件参数

mail.setHostName(hostname); // 邮件服务器域名
mail.setAuthentication(username, password); // 邮箱账户
mail.setCharset("UTF-8"); // 邮件的字符集
mail.setFrom(username); // 发件人地址
mail.addTo(to);//收件人,必要时循环添加
mail.setSubject(subject); // 邮件主题

4、添加附件

EmailAttachment attachment = new EmailAttachment(); //创建附件的对象
attachment.setPath(path);//Example: /home/user/images/image.jpg    attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("测试结果");
attachment.setName(path);
mail.attach(attachment);

5、邮件正文

String htmlEmailTemplate = "这是一张用于测试的图片,请查收</br>。 <img src=\"test.png\"> "+ " <img src=\"http://commons.apache.org/proper/commons-email/images/commons-logo.png\">";
mail.setHtmlMsg(htmlEmailTemplate); //邮件正文,可以是html格式支持图片 http等

6、发送

mail.send();

 

  

 

posted @ 2019-07-25 18:50  国际惯例  阅读(405)  评论(0编辑  收藏  举报