您的位置:首页 > 编程语言

邮件发送代码分享

2011-02-12 09:53 232 查看
这几天在学习高杰的jbpm工作流教程,书中关于邮件的定时提醒功能始终有问题。
到网上查询了多方原因,最后还是决定自己写了个小模块来完成了邮件收发问题。
下面就介绍下本文代码,开发邮件收发需要的jar包主要有:
activation-1.1.jar,mail-1.4.jar,commons-email-1.1.jar

代码很简单:

package mymail;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

import Tools.PropertyReader;

/**
* 邮件发送类
* @author ziliang
* 2011.02.10
*/
public class MailUtil {

/**
* @param: reader:带有发送邮箱信息和到达邮箱的信息
* subject: 邮件主题
* msg: 邮件信息
* @return: 是否成功
* */
public static boolean send(PropertyReader reader,String subject,String msg) {

SimpleEmail email = new SimpleEmail();
email.setTLS(true);
email.setHostName(reader.getProperty("send.mail.host"));
email.setAuthentication(reader.getProperty("send.mail.user"), reader.getProperty("send.mail.pass")); // 用户名和密码

try {
email.addTo(reader.getProperty("to.mail.addr")); // 接收方
email.setFrom(reader.getProperty("send.mail.addr")); // 发送方
email.setSubject(subject); // 标题
email.setCharset("GBK");
email.setMsg(msg); // 内容
email.send();
System.out.println(reader.getProperty("send.mail.user")+
"的邮件已经成功发送到邮箱: "+
reader.getProperty("to.mail.addr"));
return true;
} catch (EmailException e) {
e.printStackTrace();
}
return false;
}

}

用到了我自己定义的一个读取配置文件信息的PropertyReader.java(参见我的另外一篇文章-读取配置文件信息的工具类)

配置文件内容如下,存放在src目录下,
send.mail.host=smtp.sina.com
send.mail.user=li2002.student@sina.com
send.mail.pass=abcdef234
send.mail.addr=li2002.student@sina.com
to.mail.addr=619233638@qq.com

测试类如下:

public class TestSendMail {

public static void main(String[] args) {

PropertyReader reader=new PropertyReader("mail.properties");
String subject="邮件主题";
String msg="邮件内容";
MailUtil.send(reader, subject, msg);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: