`
lushuaiyin
  • 浏览: 673468 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

相关推荐

Global site tag (gtag.js) - Google Analytics