利用commons-email发送简单邮件


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58

使用commons-email发邮件
commons-email是apache提供的一个开源的API,是对javamail的封装,因此在使用时要将mail.jar , activation.jar 加到 class path中,主要包括SimpleEmail,MultiPartEmail,HtmlEmail,EmailAttachment四个类。

注:当是j2se时因没有mail,activation包,故要加入这两个包,而对于j2ee.它本身自带这两个包,就不用再导入,可直接用。
要注意的一点是:j2ee5.0的mail.jar, activation.jar包中相关的类是不完整的,不能直接用,但若直接导入这两个包,又会造成
j2ee与导入的包冲突,解决方法是:找到j2ee.jar文件 ,用winrar打开,删除mail.jar, activation.jar,再导入 这两个包,就OK

SimpleEmail:发送简单的email,不能添加附件
MultiPartEmail:文本邮件,可以添加多个附件
HtmlEmail:HTML格式邮件,同时具有MultiPartEmail类所有“功能”
EmailAttchment:附件类,可以添加本地资源,也可以指定网络上资源,在发送时自动将网络上资源下载发送。

发送基本文本格式邮件:
==============
SimpleEmail email = new SimpleEmail();

//设置发送主机的服务器地址

email.setHostName(“smtp.gmail.com”);

//设置收件人邮箱

email.addTo(“cang521ying@yahoo.com.cn”,”cang521ying”);
//抄送:addCC 密送: addBcc CC:Carbon Copy BCC:Blind Carbon Copy Carbon( 碳,复本,复写本)

//发件人邮箱

email.setFrom(“goodasong@gmail.comm”,”goodasong”);

email.setDebug(true); //用来调试,打印出错误信息,正式运行时要注释掉
email.setSSL(true); //因用的是Gmail邮箱发送,故pop设置要符合Gmail的要求
email.setSmtpPort(465);

email.setAuthentication(“goodasong@gmail.com”, ““);

//设置邮件的主题

email.setSubject(“Hello, This is My First Email Application”);

//邮件正文消息
//最好进行转码,防止乱码,因要在网络中传输,而网络多用iso-8859-1发送,故要从gbk转成iso-8859-1
String content = “这是个测试!”;
content = new String(content.getBytes(“gbk”),”iso-8859-1″);
email.setMsg(content);

email.send();

各个邮箱的pop3的不同设置 ( 一般都要参考各个邮箱帮助中的outlook设置 )

1,在用某一品牌的邮箱发送邮件时首先要确保的是此邮箱的pop3开启
如Gmail的设置在:设置 — 转发和POP/IMAP – 针对所有邮件启用 POP(包括已经下载的邮件)
sina的设置在: 邮箱设置 — 账户 — 开启
163 需要VIP才可用outlook,意味着只有VIP账户才能进行发磅
注意记下各个smtp服务器名称,email.setHostName(“smtp.gmail.com”); sina 为 smtp.sina.com

2,在各个邮箱的帮助里看对outlook的设置,除了用户名,密码之外是否还要设置其它,像sina就不用,
而Gmail需要此服务器要求安全连接 (SSL) 启用
发送邮件服务器 (SMTP): 465 或 25

即:email.setSSL(true);
email.setSmtpPort(465);