当前位置: 首页 > 工具软件 > Simple Mail > 使用案例 >

simple mail 用法

令狐跃
2023-12-01

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(); 
     } 
  
    } 
   } 
 
 类似资料: