隔叶黄莺:The Blog of Unmi
 

公告:博客已搬迁至 http://unmi.blogjava.net,欢迎光临!此地不再维护。

隔叶黄莺三四声,挂壁飞瀑千万尘。若是人间无净土,此处为何妙语真!

       隔叶黄莺四字,本非取自此句,而有寄寓他意,因见妙语,亦与予心合!
 
 
    搜索日志
关键字 :
    最新日志
    最新评论
中博网友/2009-07-04
本公司主要提供--....
中博网友/2009-07-04
本公司主要提供--....
中博网友/2009-05-22
我按照你说的将xB....
丝茉茉/2009-05-13
路过!
就是要印/2009-03-26
顶!
就是要印/2009-03-26
顶!
lwcjunion/2008-12-30
新年到,想想送什么....
中博网友/2008-12-24
RMI Serve....
飘零的叶子/2008-12-09
路过!
中博网友/2008-12-04
请问怎么用JAVE....
    我的相册
    我的网摘
    网站链接
    我的博客
点击这里给我发消息
数据读取中……
 
2006.12.07 13:48:01 晴
 用 apache commons-email 轻松发送无乱码邮件 
原来项目中都是自己拿到 mail.jar 和 activation.jar 两个包编写发送Email的代码,虽然不难,但也有些麻烦。

现在好了,在 apache 站点有一个 jarkata/commons/email 子项目,也为我们实现了发送 Email 的功能,在 http://jakarta.apache.org/commons/email/ 把包 commons-email-1.0.jar 下来,自己要写的代码就十分少了,并且非常明了。

这个包的大小只有23K,也就是9个类而已,却能让您省不少事。

commons-email 提供了 SimpleEmail、MultiPartEmail、HtmlEmail、EmailAttachment 等类,只需要您按正常思维简单的写几行代码就能发各种类型的 Email,一般我们用 JavaMail 发送 Email 会碰到中文乱码问题,主要是出现在把代码放在英文系统中执行时,处理方法是主题和内容使用 GBK 或 UTF-8 字符集。

http://jakarta.apache.org/commons/email/userguide.html 有 commons-email 的使用示例,如果直接用第一个例子放在英文环境中发送带中文主题或内容的邮件也会出现乱码,

这里对第一个例子稍做改造,可以让发出的 Email 中文不出现乱码,如下:

import org.apache.commons.mail.SimpleEmail;

public class Test
{

    /**
*
@Author Unmi * @param args * @throws Exception */ public static void main(String[] args) throws Exception { //发送简单邮件 SimpleEmail email = new SimpleEmail(); email.setHostName("mail.2911.net"); //需要邮件发送服务器验证,用户名/密码 email.setAuthentication("Unmi", "xxxxxx"); email.addTo("fantasia@sina.com", "fantasia"); email.setFrom("Unmi", "Unmi"); //设置主题的字符集为UTF-8 email.setCharset("UTF-8"); email.setSubject("测试邮件主题"); email.buildMimeMessage(); //设置内容的字符集为UTF-8,先buildMimeMessage才能设置内容文本 email.getMimeMessage().setText("测试邮件内容","UTF-8"); email.sendMimeMessage(); } }

在以后在java中发邮件就用这个 commons-email 组件就好了,如果要发送 HTML 邮件或者带附件的邮件就学着 http://jakarta.apache.org/commons/email/userguide.html 中的例子做即可,出现中文乱码,跟到源代码中想想办法自己动动脑。
标签: commons-email,乱码,邮件
作者 unmi 评论() | 人气()  | 引用() | 推荐 | 问题日志 | 收藏到网摘 | 返回首页
 
 
博客主页博客首页FAQ帮助注册退出