Kimi's NutShell

          我荒廢的今日,正是昨日殞身之人祈求的明日

          BlogJava 新隨筆 管理
            141 Posts :: 0 Stories :: 75 Comments :: 0 Trackbacks

          package test;


          import java.util.*;

          import javax.mail.*;
          import javax.mail.internet.*;

          import java.util.Date;

          import javax.activation.*;

          import java.io.*;


          public class SendMail {

          ??? private MimeMessage mimeMsg; //MIME郵件對象

          ??? private Session session; //郵件會話對象
          ??? private Properties props; //系統屬性
          ??? private boolean needAuth = false; //smtp是否需要認證

          ??? private String username = ""; //smtp認證用戶名和密碼
          ??? private String password = "";

          ??? private Multipart mp; //Multipart對象,郵件內容,標題,附件等內容均添加到其中后再生成MimeMessage對象


          ??? /**
          *
          */
          ??? public SendMail() {
          ??????? setSmtpHost("stmp.mail.daphne.com.cn"); //如果沒有指定郵件服務器,就從getConfig類中獲取
          ??????? createMimeMessage();
          ??? }

          ??? public SendMail(String smtp) {
          ??????? setSmtpHost(smtp);
          ??????? createMimeMessage();
          ??? }


          ??? /**
          * @param hostName String
          */
          ??? public void setSmtpHost(String hostName) {
          ??????? System.out.println("設置系統屬性:mail.smtp.host = " + hostName);
          ??????? if (props == null)
          ??????????? props = System.getProperties(); //獲得系統屬性對象

          ??????? props.put("mail.smtp.host", hostName); //設置SMTP主機
          ??? }


          ??? /**
          * @return boolean
          */
          ??? public void createMimeMessage() {
          ??????? try {
          ??????????? System.out.println("準備獲取郵件會話對象!");
          ??????????? session = Session.getDefaultInstance(props, null); //獲得郵件會話對象
          ??????? } catch (Exception e) {
          ??????????? System.err.println("獲取郵件會話對象時發生錯誤!" + e);
          ?????????? // return false;
          ??????? }

          ??????? System.out.println("準備創建MIME郵件對象!");
          ??????? try {
          ??????????? mimeMsg = new MimeMessage(session); //創建MIME郵件對象
          ??????????? mp = new MimeMultipart();

          ????????? //? return true;
          ??????? } catch (Exception e) {
          ??????????? System.err.println("創建MIME郵件對象失敗!" + e);
          ????????? //? return false;
          ??????? }
          ??? }


          ??? /**
          * @param need boolean
          */
          ??? public void setNeedAuth(boolean need) {
          ??????? System.out.println("設置smtp身份認證:mail.smtp.auth = " + need);
          ??????? if (props == null)
          ??????????? props = System.getProperties();

          ??????? if (need) {
          ??????????? props.put("mail.smtp.auth", "true");
          ??????? } else {
          ??????????? props.put("mail.smtp.auth", "false");
          ??????? }
          ??? }

          ??? /**
          * @param name String
          * @param pass String
          */
          ??? public void setNamePass(String name, String pass) {
          ??????? username = name;
          ??????? password = pass;
          ??? }

          ??? /**
          * @param mailSubject String
          * @return boolean
          */
          ??? public boolean setSubject(String mailSubject) {
          ??????? System.out.println("設置郵件主題!");
          ??????? try {
          ??????????? mimeMsg.setSubject(mailSubject);
          ??????????? return true;
          ??????? } catch (Exception e) {
          ??????????? System.err.println("設置郵件主題發生錯誤!");
          ??????????? return false;
          ??????? }
          ??? }

          ??? /**
          * @param mailBody String
          */
          ??? public boolean setBody(String mailBody) {
          ??????? try {
          ??????????? BodyPart bp = new MimeBodyPart();
          ??????????? bp.setContent("" + mailBody, "text/html;charset=GB2312");
          ??????????? mp.addBodyPart(bp);

          ??????????? return true;
          ??????? } catch (Exception e) {
          ??????????? System.err.println("設置郵件正文時發生錯誤!" + e);
          ??????????? return false;
          ??????? }
          ??? }

          ??? /**
          * @param name String
          * @param pass String
          */
          ??? public boolean addFileAffix(String filename) {

          ??????? System.out.println("增加郵件附件:" + filename);
          ??????? try {
          ??????????? BodyPart bp = new MimeBodyPart();
          ??????????? FileDataSource fileds = new FileDataSource(filename);
          ??????????? bp.setDataHandler(new DataHandler(fileds));
          ??????????? bp.setFileName(fileds.getName());

          ??????????? mp.addBodyPart(bp);

          ??????????? return true;
          ??????? } catch (Exception e) {
          ??????????? System.err.println("增加郵件附件:" + filename + "發生錯誤!" + e);
          ??????????? return false;
          ??????? }
          ??? }

          ??? /**
          * @param name String
          * @param pass String
          */
          ??? public boolean setFrom(String from) {
          ??????? System.out.println("設置發信人!");
          ??????? try {
          ??????????? mimeMsg.setFrom(new InternetAddress(from)); //設置發信人
          ??????????? return true;
          ??????? } catch (Exception e) {
          ??????????? return false;
          ??????? }
          ??? }

          ??? /**
          * @param name String
          * @param pass String
          */
          ??? public boolean setTo(String to) {
          ??????? if (to == null)
          ??????????? return false;
          ??????? try {
          ??????????? mimeMsg.setRecipients(Message.RecipientType.TO,
          ????????????????????????????????? InternetAddress.parse(to));
          ??????????? return true;
          ??????? } catch (Exception e) {
          ??????????? return false;
          ??????? }

          ??? }

          ??? /**
          * @param name String
          * @param pass String
          */
          ??? public boolean setCopyTo(String copyto) {
          ??????? if (copyto == null)
          ??????????? return false;
          ??????? try {
          ??????????? mimeMsg.setRecipients(Message.RecipientType.CC,
          ????????????????????????????????? (Address[])InternetAddress.parse(copyto));
          ??????????? return true;
          ??????? } catch (Exception e) {
          ??????????? return false;
          ??????? }
          ??? }

          ??? /**
          * @param name String
          * @param pass String
          */
          ??? public boolean sendout() {
          ??????? try {
          ??????????? mimeMsg.setContent(mp);
          ??????????? mimeMsg.saveChanges();
          ??????????? System.out.println("正在發送郵件....");

          ??????????? Session mailSession = Session.getInstance(props, null);
          ??????????? Transport transport = mailSession.getTransport("smtp");
          ??????????? transport.connect((String)props.get("mail.smtp.host"), username,
          ????????????????????????????? password);
          ??????????? transport.sendMessage(mimeMsg,
          ????????????????????????????????? mimeMsg.getRecipients(Message.RecipientType.TO));
          ??????????? //transport.send(mimeMsg);

          ??????????? System.out.println("發送郵件成功!");
          ??????????? transport.close();

          ??????????? return true;
          ??????? } catch (Exception e) {
          ??????????? System.err.println("郵件發送失敗!" + e);
          ??????????? return false;
          ??????? }
          ??? }


          ??? /**
          * Just do it as this
          */
          ??? public static void main(String[] args) {
          ??????? String mailbody = "<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+
          ??????? "<div align=center><a href=http://www.131ok.com> 搜索 </a></div>";

          ??????? SendMail themail = new SendMail("mail.daphne.com.cn");
          ??????? themail.setNeedAuth(true);

          ??????? if (themail.setSubject("標題") == false)
          ??????????? return;

          ??????? if(themail.setBody(mailbody) == false) return;
          ??????? if(themail.setTo("
          wanglei@mail.daphne.com.cn ") == false) return;
          ?????

          ??????? if (themail.setFrom(" kemi@mail.daphne.com.cn ") == false)
          ??????????? return;
          ??????? if (themail.addFileAffix("C:\\anchor.gif") == false)
          ??????????? return;
          ??????? themail.setNamePass("kemi", "q123ew");

          ??????? if (themail.sendout() == false)
          ??????????? return;
          ??? }
          }

          posted on 2006-05-25 11:34 Kimi 閱讀(146) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 凉城县| 江口县| 黄龙县| 高邮市| 汽车| 文登市| 海南省| 承德县| 秭归县| 临夏市| 云林县| 屯留县| 建湖县| 溧阳市| 调兵山市| 阿鲁科尔沁旗| 扎囊县| 荔浦县| 砀山县| 玛多县| 长沙县| 海盐县| 镇宁| 广丰县| 棋牌| 上蔡县| 峨边| 宿迁市| 宁明县| 托里县| 莒南县| 内江市| 伊吾县| 龙南县| 桑植县| 绵竹市| 开江县| 五指山市| 营山县| 遵义市| 固始县|