现在的位置: 首页 > 综合 > 正文

java 发送邮件 例子 (带附件的) 使用org.apache.commons.mail

2013年08月22日 ⁄ 综合 ⁄ 共 1847字 ⁄ 字号 评论关闭
文章目录

package mail;

import java.io.UnsupportedEncodingException;

import javax.mail.internet.MimeUtility;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;

public class Send2 {
 public Send2(){}
 // 需要的jar包5个:commons-email-1.2.jar commons-email-1.2-javadoc.jar
 // commons-email-1.2-sources.jar mail.jar  activation.jar
 public static void main(String[] args) {
  send();
 }

 // QQ邮箱对应的pop3和smtp服务器地址为:pop3:pop.qq.com;
 // smtp:smtp.qq.com,请参考
 //
lu@yahoo.com.cn
 // 449222222@qq.com
 public static void send() {
  
  try {
   MultiPartEmail  email = new MultiPartEmail ();
   email.setTLS(true);
   email.setHostName("smtp.qq.com"); // 这里是发送服务器的名字
   email.setAuthentication("
449222222@qq.com", "邮箱密码");
   
      //产生一个附件
         EmailAttachment attachment = new EmailAttachment();
         attachment.setPath("D:/1.jpg");//指定附件在本地的绝对路径
     //也可以以网络的方式
          //attachment.setURL(new URL("
http://www.apache.org/images/asf_logo_wide.gif"));

         attachment.setDisposition(EmailAttachment.ATTACHMENT);
         attachment.setDescription("附件描述");//附件描述
         //附件名称,如果附件是中文名会在乱码,attachment.setName(MimeUtility.encodeText("测试"));
      attachment.setName(MimeUtility.encodeText("附件名字"));
   

   email.addTo("lushuaiyin@yahoo.com.cn", "rec"); // 接收方

//第2个参数是昵称,可以不要,收件人在信箱内的这个地方显示

//收件人:

rec <lushuaiyin@yahoo.com.cn>


   email.setFrom("
449020109@qq.com"); // 发送方
   email.setSubject("Java发送邮件测试"); // 标题
   email.setCharset("GB2312"); // 设置Charset
   email.setMsg("这是一封Java程序发出的测试邮件,带附件。"); // 内容
   
   email.attach(attachment);//添加附件
   
   email.send();//发送
   System.out.println("邮件发送成功");
  } catch (EmailException e) {
   e.printStackTrace();
  }catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}
/*
 * 有的邮箱需要开启POP3/SMTP服务,例如本例的qq邮箱,在测试时弹出需要开启此服务的 提示(qq邮箱发来的),进入邮箱的设置,开启就行了
 */

抱歉!评论已关闭.