2008-01-18
使用Common Email轻松发送邮件
喵。猫咪最近一直比较无聊,所以终于打算多更新一下Blog以免自己成为一只懒死的猫。
我们在Java开发中,对于发送邮件,Sun给出了JavaMail框架。但是这个框架调用比较复杂,所以出了很多封装来简化使用。比如Spring就对JavaMail进行了封装。今天猫咪介绍的是Apache的Common组件中的Email组件,封装得很不错。
首先从Sun的网站上下载JavaMail框架实现,最新的版本是1.4.1。然后是JavaBeans Activation Framework,最新版本1.1.1,JavaMail需要这个框架。不过如果JDK是1.6的话就不用下了。1.6已经包括了JavaBeans Activation Framework。
最后从http://commons.apache.org/email/下载最新的Common Email,版本1.1。
首先在Eclipse中建立一个新的Java工程,然后把JavaMail和Common Email解压缩,在工程中添加解压缩出来的所有Jar的引用。
好了,我们来发一封最简单的邮件吧。
现在去你的目标邮箱,就可以看到信已经在那里了。注意,如果没有指定编码格式的话(setCharset("UTF-8")),那么正文就会变成乱码(都是?????)。当然你也可以指定其他编码格式,比如“GBK”。
如果你的JavaMail的Session是从JNDI中获取或其他方式获得的,Common Email可以通过setMailSession()和setMailSessionFromJNDI()方法进行设置。
Common Email除了可以发送普通邮件,也可以发送HTML格式的邮件和带附件的邮件。例子在项目主页上有,大家可以参考。
文章引用自:
我们在Java开发中,对于发送邮件,Sun给出了JavaMail框架。但是这个框架调用比较复杂,所以出了很多封装来简化使用。比如Spring就对JavaMail进行了封装。今天猫咪介绍的是Apache的Common组件中的Email组件,封装得很不错。
首先从Sun的网站上下载JavaMail框架实现,最新的版本是1.4.1。然后是JavaBeans Activation Framework,最新版本1.1.1,JavaMail需要这个框架。不过如果JDK是1.6的话就不用下了。1.6已经包括了JavaBeans Activation Framework。
最后从http://commons.apache.org/email/下载最新的Common Email,版本1.1。
首先在Eclipse中建立一个新的Java工程,然后把JavaMail和Common Email解压缩,在工程中添加解压缩出来的所有Jar的引用。
好了,我们来发一封最简单的邮件吧。
package org.Miao.Mail;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class Mail {
public static void main(String[] args) throws EmailException {
SimpleEmail email = new SimpleEmail();
email.setHostName("smtp.sina.com");//邮件服务器
email.setAuthentication("*****@sina.com", "******");//smtp认证的用户名和密码
email.addTo("xxxxxx@sohu.com","兔子");//收信者
email.setFrom("xxxxxx@sina.com", "猫咪");//发信者
email.setSubject("猫咪的测试邮件");//标题
email.setCharset("UTF-8");//编码格式
email.setMsg("这是一封猫咪的测试邮件");//内容
email.send();//发送
}
}现在去你的目标邮箱,就可以看到信已经在那里了。注意,如果没有指定编码格式的话(setCharset("UTF-8")),那么正文就会变成乱码(都是?????)。当然你也可以指定其他编码格式,比如“GBK”。
如果你的JavaMail的Session是从JNDI中获取或其他方式获得的,Common Email可以通过setMailSession()和setMailSessionFromJNDI()方法进行设置。
Common Email除了可以发送普通邮件,也可以发送HTML格式的邮件和带附件的邮件。例子在项目主页上有,大家可以参考。
文章引用自:
评论
Michael.zhl
2008-01-21
果然很简单......
魔力猫咪
2008-01-18
shwwwx 写道
看起来是简单多了,不过还是使用的javamail的组件,邮件这一块最难的就是收邮件了,不知道它封装后对邮件的编码识别怎么样。
其实这个组件是不能接收邮件的。呵呵。因为一般情况下,Web服务器只负责发送邮件。所以这个组件没有对接收邮件做封装。对邮件的编码控制得很好。只要你设定了编码标准,就不会有乱码。
shwwwx
2008-01-18
看起来是简单多了,不过还是使用的javamail的组件,邮件这一块最难的就是收邮件了,不知道它封装后对邮件的编码识别怎么样。
xqstation
2008-01-18
COOOL.看起来很简单.
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 19282 次

- 详细资料
搜索本博客
最新评论
-
配置Glassfish多机集群 ...
robbin 写道dinghyana 写道多机是集群,单机上的多个实例又叫啥? ...
-- by Joo -
配置Glassfish多机集群 ...
大哥,我还有疑问, "如果你觉得这么访问不方便,一会儿103一会儿104的,你可 ...
-- by dinghyana -
配置Glassfish多机集群 ...
请问 如何验证 LoadBalance 呢? 我初步是这样做,您看对不对? 我在 ...
-- by dinghyana -
配置Glassfish多机集群 ...
dinghyana 写道多机是集群,单机上的多个实例又叫啥?前者叫做水平群集,后 ...
-- by robbin -
配置Glassfish多机集群 ...
多机是集群,单机上的多个实例又叫啥?
-- by dinghyana






评论排行榜