apache的commons项目下有个email子项目,它对JavaMail API进行了封装,用起来特变方便。在开始之前,需要做以下准备:
1、JavaMail API
添加JavaMail API里的mail包到CLASSPATH里,JavaMail API下载地址:http://java.sun.com/products/javamail/downloads/index.html
2、commons email
下载地址:http://www.apache.org/dist/commons/email/
工程目录结构如下:
以下给出两个简单示例程序
// SendMail.java 使用SimpleEmail发邮件
package com.apache.commons.email.demo;
import org.apache.commons.mail.SimpleEmail;
public class SendMail
{
public static void main ( String[] arg ) throws Exception
{
// 使用SimpleEmail对于中文内容,可能会产生乱码
SimpleEmail email = new SimpleEmail ( );
// SMTP服务器名
email.setHostName ( "smtp.163.com" );
// 登陆邮件服务器的用户名和密码
email.setAuthentication ( "peki", "123456" );
// 接收人
email.addTo ( "", "曦勤" );
// 发送人
email.setFrom ( "", "小陈" );
// 标题
email.setSubject ( "Test message" );
// 邮件内容
email.setMsg ( "This is a simple test of commons-email<br>我是小陈" );
// 发送
email.send ( );
System.out.println ( "Send email successful!" );
}
}
收信结果如下:
This is a simple test of commons-email<br>????
有乱码产生,并且html内容没有正常显示
// MailSender.java 使用HtmlEmail发邮件
package com.apache.commons.email.demo;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
public class MailSender {
public static void main(String[] args) {
// 不要使用SimpleEmail,会出现乱码问题
HtmlEmail email = new HtmlEmail();
try {
// 这里是SMTP发送服务器的名字:,163的如下:
email.setHostName("smtp.163.com");
// 字符编码集的设置
email.setCharset("gbk");
// 收件人的邮箱
email.addTo("");
// 发送人的邮箱
email.setFrom("", "小陈");
// 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
email.setAuthentication("peki", "123456");
email.setSubject("下午3:00会议室讨论,请准时参加");
// 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签
email.setMsg("下午3:00会议室讨论,请准时参加<BR>呵呵~!");
// 发送
email.send();
System.out.println ( "邮件发送成功!" );
} catch (EmailException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println ( "邮件发送失败!" );
}
}
}
收信结果如下:
下午3:00会议室讨论,请准时参加呵呵~!没有产生乱码,html内容正常显示
相关推荐
org.apache.commons.lang.BitField.class org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet...
org.apache.commons.lang.BitField.class org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet...
org.apache.commons.commons-math3:3.6.1
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods....
jar包分享,你懂的 com.springsource.org.apache.commons.io-1.4.0.jar
android 下用org.apache.commons.mail.HtmlEmail发送邮件所需的jar包,经过测试可以使用,手机用的是2.3.6的安卓版本,编译版本是4.2.2
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.commons.lang
com.springsource.org.apache.commons.logging-sources-1.1.1.jar
最新org.apache.commons.net..包完整、干净、实用
org.apache.commons.beanutils.jar
com.springsource.org.apache.commons.fileupload 自己打入本地Jar包即可
org.apache.commons.lang所有包的集合,
com.springsource.org.apache.commons.pool-sources-1.5.3.jar源码
解决经常遇到的The import org.apache.commons.codec cannot be resolved问题,只需导入文件中的commons-codec-1.11.jar就可以,如和导入包就不赘述了。
org.apache.poi JAR包,解决个人的 import org.apache.commons.beanutils.PropertyUtilsBean; import org.apache.commons.lang.StringUtils;..."The import org.apache.poi cannot be resolved"的问题
org.apache.commons.net.ftp.FTPClient包,不错,在实际项目和产品中使用过。
com.springsource.org.apache.commons.dbcp-sources-1.2.2.osgi.jar源码 jar包
需要先 import org.apache.commons.lang3.StringUtils; /* 内含 common-lang3.jar commons-lang3-3.9-bin.zip commons-lang3-3.9-src.zip 使用说明.txt*/ public static String getClientIp(HttpServletRequest ...
org.apache.commons.lang jar包