我要啦免费统计

          微藍(lán)領(lǐng)域

          我的學(xué)習(xí)檔案館
          posts - 19, comments - 57, trackbacks - 0, articles - 57
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          利用commons-email實(shí)現(xiàn)郵件發(fā)送

          Posted on 2007-08-23 11:31 hilor 閱讀(608) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): J2EE

          commons-email是Apache提供的郵件相關(guān)的工具包,簡(jiǎn)化了JAVA郵件功能的實(shí)現(xiàn)。這里舉個(gè)簡(jiǎn)單的例子給大家介紹下。

          先完成代碼編寫(xiě),如下:

          package com.emailtest;


          import org.apache.commons.logging.Log;
          import org.apache.commons.logging.LogFactory;
          import org.apache.commons.mail.EmailException;
          import org.apache.commons.mail.SimpleEmail;

          public class EmailUtil {
           Log log = LogFactory.getLog("Send E-mail");
           public static String charsetname = "ISO8859_1";//字符集,用于中文處理
           public static String fromeaddr = "simplelife@126.com";//發(fā)件人郵箱地址
           public static String username = "simplelife";//發(fā)件人郵箱用戶(hù)名
           public static String password = "xxxxxx";//發(fā)件人郵箱密碼
           public static String sendname = "hilor";//發(fā)件人名稱(chēng)
           public static String emailServer = "smtp.126.com";//郵件服務(wù)器
           
           /**
            *
            * @param emailaddr 收件人郵箱地址
            * @param ename 收件人姓名
            * @param subject 郵件主題
            * @param mailcontent 郵件內(nèi)容
            * @return 郵件發(fā)送是否成功
            *
            */
           public boolean sendMail(String emailaddr,String ename,String subject,String mailcontent) throws Exception {
            SimpleEmail email = new SimpleEmail();
            
            //設(shè)置發(fā)件人用戶(hù)名、密碼認(rèn)證
            email.setAuthentication(EmailUtil.username,EmailUtil.password);
            
            //設(shè)置發(fā)送郵件所使用的郵件服務(wù)器
            email.setHostName(EmailUtil.emailServer);
            try{
             //添加收件人信息
             email.addTo(emailaddr, ename);
             
             //添加發(fā)件人信息
             email.setFrom(EmailUtil.fromeaddr, EmailUtil.sendname);
             
             //添加郵件主題
             email.setSubject(subject);
             
             //添加郵件內(nèi)容
             email.setMsg(mailcontent);
             
             //發(fā)送郵件
             email.send();
             
             //記錄日志
             log.info("Send Mail Successfully!");
             return true;
            }catch(EmailException e){
             log.error(e.getMessage());
             return false;
            }
           }
           /**
            *
            * 測(cè)試主程序
            */
           public static void main(String[] args) {
            EmailUtil email = new EmailUtil();
            try{
             email.sendMail("xxx@xxxxx.com","xxx","測(cè)試郵件",new String("發(fā)送測(cè)試郵件!\n發(fā)送測(cè)試郵件!\n發(fā)送測(cè)試郵件!\n發(fā)送測(cè)試郵件!".getBytes(),EmailUtil.charsetname));
           
            }catch(Exception e){
             e.printStackTrace();
            }
           }

          }


          這個(gè)EmailUtil類(lèi)只實(shí)現(xiàn)了一個(gè)用來(lái)發(fā)送郵件的方法,還有一個(gè)是靜態(tài)的main()測(cè)試主程序。在這個(gè)例子中只用到commons-email包里的SimpleEmail類(lèi)。利用commons-email實(shí)現(xiàn)郵件功能,在類(lèi)路徑中不但要包含commons-email提供的jar包,還必須包含sun的javamail提供的兩個(gè)與郵件相關(guān)的jar包(activation.jar,mail.jar)。

          程序中日志記錄是利用commons-logging和log4j結(jié)合來(lái)實(shí)現(xiàn)的,需要加入兩個(gè)jar包(log4j-1.2.11.jar,commons-logging-1.0.4.jar)。然后添加log4j.properties配置文件,文件內(nèi)容如下:

          log4j.rootLogger=info, dest1

          log4j.appender.dest1=org.apache.log4j.ConsoleAppender
          log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
          log4j.appender.dest1.layout.ConversionPattern=%d %-5p %-5c{3} %x -> %m%n

          log4j配置文件細(xì)節(jié)請(qǐng)參考log4j參考手冊(cè),在這里不做太多解釋。

          如果只是想做測(cè)試,也可以把程序中相關(guān)部分用System.out.print()替換掉,無(wú)須加入日志相關(guān)的jar包和log4j配置文件。

          主站蜘蛛池模板: 平昌县| 常宁市| 西畴县| 马关县| 招远市| 竹北市| 苍山县| 沙洋县| 从化市| 乾安县| 铁力市| 东城区| 临沧市| 唐山市| 临夏县| 孝昌县| 黎城县| 普安县| 松阳县| 普定县| 余干县| 开阳县| 鞍山市| 高陵县| 文成县| 沙雅县| 清苑县| 肥东县| 孟津县| 韶关市| 麻江县| 白朗县| 恭城| 苗栗县| 宁晋县| 新竹县| 新河县| 凤山市| 益阳市| 通化市| 双城市|