Apache Commons Email用法

(0)
简介:
Commons Email封装了javamail,使用非常简单。
功能:简单文本邮件、带附件的邮件、HTML格式的邮件
官方首页: http://commons.apache.org/email/,目前最新版本是1.1
官方示例: http://commons.apache.org/email/userguide.html

使用前需引入3个jar文件:commons-email-1.1.jar、javamail.jar、activation.jar
 
说明:
有时,邮件发送不出去,不一定是下面代码的问题.可能跟相应的邮箱服务器有关.
之前的尝试:
之前尝试用126(smtp.126.com)或tom(smtp.tom.com)都不行.
用126时,提示验证错误;(使用免费邮箱来测试时,有些免费邮箱不提供此服务,无法通过邮件服务
器验证。)
用tom时,提示邮件被列为垃圾邮件.
也可能是上不了网或上不了邮件服务器的原因.可以用以下方法测试:
cmd打开命令行--->telnet smtp.sohu.com 25 (看是否连接得上).
 
(1)
发送简单文件:
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
public class MailSender {
 public static void main(String[] args) {
  // 不要使用SimpleEmail,会出现乱码问题
  HtmlEmail email = new HtmlEmail();
  try{
   // 这里是发送服务器的名字
   email.setHostName("smtp.sohu.com");
   // 编码集的设置
   email.setCharset("gbk");
   // 收件人的邮箱
   email.addTo(" [email protected]");
   // 发送人的邮箱
   email.setFrom(" [email protected]", "shenzhenchufa");  //邮箱及用户名
   // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在
邮件服务器上的注册名称和密码
   email.setAuthentication("shenzhenchufa","******");
   email.setSubject("jason测试Email");
   // 要发送的信息
   email.setMsg("jason测试Email ");
   // 发送
   email.send();
   System.out.println("发送成功!");
  } catch (EmailException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}
(2)
发送带附件的邮件:
import javax.mail.internet.MimeUtility;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.MultiPartEmail;
public class AttachMailSender {
 public static void main(String[] args) throws Exception {
//  Create the attachment
  EmailAttachment attachment = new EmailAttachment();
  attachment.setPath("D:/desk.jpg");//指定附件在本地的绝对路径
  attachment.setDisposition(EmailAttachment.ATTACHMENT);
  attachment.setDescription("Picture of test");//附件描述
//  attachment.setName("测试");//附件名称
  //如果附件是中文名会在乱码,attachment.setName(MimeUtility.encodeText("
测试"));
  attachment.setName(MimeUtility.encodeText("测试图片"));
  // Create the email message
  MultiPartEmail email = new MultiPartEmail();
  email.setHostName("smtp.sohu.com");
  email.setCharset("gbk");
  email.addTo(" [email protected]");
  email.setFrom(" [email protected]", "shenzhenchufa");
  email.setAuthentication("shenzhenchufa","*******");
  email.setSubject("图片");
  email.setMsg("这是你想要的图片!");
  // add the attachment
  email.attach(attachment);
  // send the email
  email.send();
  System.out.println("发送成功!");
 }
}
 

你可能感兴趣的:(职场,休闲)