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

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邮箱发来的),进入邮箱的设置,开启就行了
 */


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值