邮件发送代码分享

    技术2025-04-18  9

    这几天在学习高杰的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.comsend.mail.user=li2002.student@sina.comsend.mail.pass=abcdef234send.mail.addr=li2002.student@sina.comto.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);   }}

     

     

    最新回复(0)