邮件发送代码分享

这几天在学习高杰的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);  
 }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值