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
          主站蜘蛛池模板: 周口市| 苗栗市| 潢川县| 梨树县| 象州县| 公主岭市| 鄯善县| 顺昌县| 龙胜| 山阴县| 郴州市| 赤水市| 吉木乃县| 鹰潭市| 翁牛特旗| 秦皇岛市| 沁水县| 西吉县| 洪雅县| 梁山县| 池州市| 海宁市| 葵青区| 全州县| 洞头县| 卢龙县| 阿拉善右旗| 偃师市| 浦江县| 东乡族自治县| 安顺市| 郓城县| 分宜县| 太康县| 武汉市| 武鸣县| 巴彦县| 石景山区| 金秀| 原阳县| 喀喇沁旗|