Common mail 包的使用

Common mail 包的使用

   在javax包中虽然定义了一些些关于发mail的类,但是用起来不是很方便,下面是我对common.mail包的一些使用笔记.
   package bo;

   import java.io.IOException;
   import java.io.InputStream;
   import java.io.UnsupportedEncodingException;
   import java.net.MalformedURLException;
   import java.net.URL;
  
   import javax.mail.internet.MimeUtility;
  
   import org.apache.commons.io.IOUtils;
   import org.apache.commons.mail.EmailAttachment;
   import org.apache.commons.mail.EmailException;
   import org.apache.commons.mail.HtmlEmail;
   import org.apache.commons.mail.MultiPartEmail;
   import org.apache.commons.mail.SimpleEmail;

   public class Email {
   //发送普通文件的mail
    public void mySend() {
     try {
      SimpleEmail email = new SimpleEmail(); // 构造一个mail对象
      //email.setHostName("hostname");// 设置主机名
      email.addTo("mail", "my");// 设置发对象
      email.setFrom("yahu@.cn.com", "my");// 设置发送人
      email.setSubject("邮件测试");// 设置主题
      email.setCharset("GBK");// 设置发送使用的字符集
      String content = "测试内容是我自己的";// 内容
  
      email.setContent(content, "text/plain;charset=GBK");// 设置内容
  
      email.send();// 发送
     } catch (EmailException e) {
      e.printStackTrace();
     }
  
    }
   
    public static void main(String[] args) {
     Email email = new Email();
     email.mySend();
    }
   //发送带附件的mail
    public void myAttachment() {
     MultiPartEmail email = new MultiPartEmail();// 构造一个mail对象
     email.setHostName("hostname");// 设置服务器名
     try {
      EmailAttachment attachment = new EmailAttachment();// 构造一个发送附件
      attachment.setPath("C:\\2.jpg");// 设置附件路径
      attachment.setDisposition(EmailAttachment.ATTACHMENT);
      attachment.setDescription("中文");// 描述
      attachment.setName(MimeUtility.encodeText("美女.png"));
  
      email.addTo("yahu@.cn.com", "name");// 发送对象
      email.setFrom("yahu@.cn.com", "name");// 发送人
      email.setSubject("测试");// 标题
      email.setCharset("GBK");// 使用的字符集
  
      String content = "美女";// 内容
      email.setMsg(content);// 设置内容
      email.attach(attachment);// 发送附件
      email.send();// 发送
  
     } catch (UnsupportedEncodingException e) {
  
      e.printStackTrace();
     } catch (EmailException e) {
      e.printStackTrace();
     }
  
    }
   
   付注:附件可以发送多个,只需要构靠多个EmailAttachment即可
     
   
   //发送html格式的mail
    public void htmlEmail() {
     HtmlEmail email = new HtmlEmail();// 构造一个html mail对象
  
     email.setHostName("hope.cn");// 设置服务器名
     try {
      email.addTo("yahu@.cn.com", "my");// 设置发送对象
      email.setFrom("yahu@.cn.com", "my");// 设置发送人
      email.setSubject("测试");// 设置主题
      String mag = "红色";//这里可以写你的html文档,因为本页面我是用xml文件做数据存储的,不能写标签,这里我就不写了
      email.setHtmlMsg(mag);// 设置内容
      email.setCharset("GBK");// 设置字符集
      email.send();// 发送
     } catch (EmailException e) {
  
      e.printStackTrace();
     }
  
    }
  
    public void hEmail() {
  
     EmailAttachment attachment = new EmailAttachment();
  
     try {
      attachment.setURL(new URL(
        "url"));// 设置附件的URL
      attachment.setDisposition(EmailAttachment.ATTACHMENT);
      attachment.setDescription("附件.pdf");// 设置附件描述
      try {
       attachment.setName(MimeUtility.encodeText("附件.pdf"));
      } catch (UnsupportedEncodingException e1) {
       e1.printStackTrace();
      }
      HtmlEmail hmail = new HtmlEmail();// 构造mail对象
      hmail.setHostName("hope.cn");// 设置服务器
      hmail.addTo("yahu@.cn.com", "my");// 设置发送对象
      hmail.setFrom("yahu@.cn.com", "my");// 设置发送人
      hmail.setSubject("测试");// 设置标题
  
      URL url = new URL(
        "url");// 构造一个UTL
  
      InputStream in = (InputStream) url.getContent();// 从URL中获得输出流
      String msg = IOUtils.toString(in);// 获得输出流的内容
  
      hmail.setHtmlMsg(msg);// 设置html内容
      hmail.setCharset("GBK");// 设置字符集
      hmail.attach(attachment);// 设置附件
      hmail.send();// 发送
  
     } catch (MalformedURLException e) {
      e.printStackTrace();
     } catch (EmailException e) {
      e.printStackTrace();
     } catch (IOException e) {
      // TODO 自动生成 catch 块
      e.printStackTrace();
     }
  
    }
   }
  
  
   本代码中使用了commons.io软件包.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值