国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

使用JAVAMAIL發(fā)郵件的一個例子(轉(zhuǎn))

2019-11-17 05:54:15
字體:
供稿:網(wǎng)友

        首先引入j2ee的包路徑到ClassPath,已經(jīng)安裝Jbuilder的可以在它的安裝路徑lib目錄下找
到mail.jar,activation.jar,將這兩個包加入系統(tǒng)的環(huán)境變量,那么即使不用JBuilder開發(fā)的話也可以
使用了.

        程序:

import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

/**
 * <p>Title: 簡易MailBean</p>
 * <p>Description: 提供簡便的Mail發(fā)送功能(/p>
 * <p>Copyright: Copyright (c) 2003</p>
 * @version 1.0
 */

class ExtendString {
  public ExtendString() {
  }
  /**
   去掉字符串兩端的空白字符,并將字符串轉(zhuǎn)化為中國的標準字符gb2312的字符串.
   */
  public String CS(String str) { //去掉字符串2端的空白字符
      try {
          if (str == null)
              return "";
          str = str.trim();
          if (str == null)
              return "";
          str = new String(str.getBytes("8859_1"), "GBK");
      }
      catch (Exception e) {
          System.out.PRintln(e);
      }
      return str;
  }

}

public class SendMail
{
    private String errMsg = "";
    private ExtendString ExStr = new ExtendString();

    private String sender = "";//發(fā)件人地址
    private String smtpHost = "";//郵件發(fā)送服務器(smtp)
    private String user = ""; //登錄用戶名
    private String passWord = "";//登錄密碼

    private String subject = "";//mail主題

    public SendMail()
    {
        this.setPropertiesAttri();
    }

    private void setPropertiesAttri()
    {
        try
        {
            InputStream is = getClass().getResourceAsStream("MailServer.properties");
            Properties prop = new Properties();

            prop.load(is);

            this.setSmtpHost(prop.get("SmtpHost").toString());
            this.setUser(prop.get("User").toString());
            this.setPassword(prop.get("Password").toString());
            this.setSender(prop.get("Sender").toString());
            this.setSubject(ExStr.CS(prop.get("Subject").toString()));
        }
        catch(Exception ex)
        {
            System.err.println("ex1 in sendmail.java:"+ex.toString());
        }
    }
    /** 設置發(fā)件人地址 */

    public void setSender(String sender)
    {
        this.sender = sender;
    }

    public String getSender()
    {
        return sender;
    }

    /** 設置郵件發(fā)送服務器(smtp) */
    public void setSmtpHost(String smtpHost) {this.smtpHost = smtpHost;}
    public String getSmtpHost() {return smtpHost;}

    /** 設置登錄用戶名 */
    public void setUser(String user)
    {
        this.user = user;
    }
    public String getUser()
    {
        return user;
    }

    /** 設置登錄密碼 */
    public void setPassword(String password)
    {
        this.password = password;
    }
    public String getPassword()
    {
        return password;
    }

    /** 設置mail主題 */
    public void setSubject(String subject)
    {
        this.subject = subject;
    }
    public String getSubject()
    {
        return subject;
    }

    /**
     * 使用smtp發(fā)送郵件 主程序
     * @throws MessagingException mail發(fā)送失敗
     */
    public void smtp(String receiver,String content) throws MessagingException

    {
        if (smtpHost == null) throw new MessagingException("smtpHost not found");
        if (user == null) throw new MessagingException("user not found");
        if (password == null) throw new MessagingException("password not found");

        Properties properties = new Properties();
        properties.put("mail.smtp.host", smtpHost);//設置smtp主機
        properties.put("mail.smtp.auth", "true");//使用smtp身份驗證

        session session = Session.getDefaultInstance(properties,
             new Authenticator(){
               public PasswordAuthentication getPasswordAuthentication(){
                 return new PasswordAuthentication(user, password);
               }
             });

        //獲得郵件會話對象
        MimeMessage mimeMsg = new MimeMessage(session);//創(chuàng)建MIME郵件對象
        if (sender != null)//設置發(fā)件人地址
            {
                mimeMsg.setFrom(new InternetAddress(sender));
            }
        if (receiver != null)//設置收件人地址
           {
               mimeMsg.setRecipients(Message.RecipientType.TO, parse(receiver));
           }
        if (subject != null)//設置郵件主題
           {
               mimeMsg.setSubject(subject, "GBK");
           }
        MimeBodyPart part = new MimeBodyPart();//mail內(nèi)容部分
        part.setText(content == null ? "" : content, "GBK");

        //設置郵件格式為Html cqc
        part.setContent(content.toString(),"text/html;charset=GBK");

        Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(part);//在 Multipart 中增加mail內(nèi)容部分
        mimeMsg.setContent(multipart);//增加 Multipart 到信息體
        mimeMsg.setSentDate(new Date());//設置發(fā)送日期
        Transport.send(mimeMsg);//發(fā)送郵件
    }

    /** 解析地址集合字符串 */
    private InternetAddress[] parse(String addressSet) throws AddressException
    {
        ArrayList list = new ArrayList();
        StringTokenizer tokens = new StringTokenizer(addressSet, ";");
        while (tokens.hasMoreTokens())
        {
            list.add(new InternetAddress(tokens.nextToken().trim()));
        }
        InternetAddress[] addressArray = new InternetAddress[list.size()];
        list.toArray(addressArray);
        return addressArray;
    }

    /**
     *  供外部調(diào)用的接口
     */
  
    public boolean sendMails(String mail,String content)
    {
        int mailLen = 0 ;
        int contentLen= 0;
        if (mail == nullcontent==null)
        {
            return false;
        }

            try
            {
                this.smtp(mail,content);
            }
            catch(Exception ex)
            {
                System.err.println("ex2 in sendmail.java:"+ex.toString());
            }

        return true;
    }

         public static void main (String[] args)
     {
         SendMail mail = new SendMail();

         String email = "feng_lei@ecfounder.com;ladofwind@163.com";
         String content = "賬號:123 密碼:123 <br/>感謝您注冊!<br/><a target='_blank'>www.xxxx.com.cn</a><br/>此致<br/>xxxx <br/>即日";
         try
         {
             mail.sendMails(email,content);
         }
         catch (Exception ex)
         {
            System.err.println("ex33:"+ex.toString());
         }
     }


 }

編譯通過后,在class文件的目錄下建立一個文本文件MailServer.properties,
格式:
SmtpHost=smtp.163.com
User=user
Password=pwd
Sender=csdn@csdn.com
Subject=Hello


運行程序即可實現(xiàn)郵件發(fā)送!



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 樟树市| 巴林左旗| 黎城县| 鄂温| 霞浦县| 彰化市| 金沙县| 灵石县| 宁南县| 府谷县| 纳雍县| 淮滨县| 台中县| 镇原县| 伊金霍洛旗| 冕宁县| 株洲县| 望谟县| 上虞市| 林西县| 咸阳市| 屏南县| 买车| 海丰县| 逊克县| 吐鲁番市| 沙田区| 周口市| 阳江市| SHOW| 调兵山市| 乡城县| 扎兰屯市| 连云港市| 许昌县| 高邮市| 巴里| 天峨县| 永顺县| 莲花县| 南宁市|