<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    【永恒的瞬間】
    ?Give me hapy ?

    //文件Mail.java 該文件內容部分綜合網上的資源,自己進行了改進,轉載請注明 汪建偉。

    package sendmail;

    import java.io.UnsupportedEncodingException;
    import java.util.Properties;
    import java.util.Date;
    import java.util.ArrayList;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.*;
    import java.net.MalformedURLException;
    import java.net.URL;
    /**
    ?* <p>Title: </p>
    ?* <p>Description: </p>
    ?* <p>Copyright: Copyright (c) 2005</p>
    ?* <p>Company: Peking University </p>
    ?* @author 汪建偉
    ?* @version 1.0
    ?*/

    public? class Mail{
    ???
    ??? protected ArrayList bodypartArrayList=null;
    ??? protected Multipart multipart = null;
    ??? protected MimeMessage mailMessage = null;
    ??? protected Session mailSession = null;
    ??? protected Properties mailProperties = System.getProperties();
    ??? protected InternetAddress mailFromAddress = null;
    ??? protected InternetAddress mailToAddress = null;
    ??? protected String mailSubject ="";
    ??? protected Date mailSendDate = null;
    ??? private String smtpserver="";
    ??? private String name="";
    ??? private String password="";
    ???
    ??? public Mail(String smtpHost,String username,String password){
    ??? ?smtpserver=smtpHost;
    ??? ?name=username;
    ??? ?this.password=password;
    ??????? mailProperties.put("mail.smtp.host",smtpHost);
    ??????? mailProperties.put("mail.smtp.auth","true"); //設置smtp認證,很關鍵的一句
    ??????? mailSession = Session.getDefaultInstance(mailProperties);
    ??????? //mailSession.setDebug(true);
    ???????
    ??????? mailMessage = new MimeMessage(mailSession);
    ??????? multipart = new MimeMultipart();
    ??????? bodypartArrayList=new ArrayList();//用來存放BodyPart,可以有多個BodyPart!
    ??? }
    ??? //設置郵件主題
    ??? public void setSubject(String mailSubject)throws MessagingException{
    ??????? this.mailSubject = mailSubject;
    ??????? mailMessage.setSubject(mailSubject);
    ??? }
    ??? //設置郵件發送日期
    ??? public void setSendDate(Date sendDate)throws MessagingException{
    ??????? this.mailSendDate = sendDate;
    ??????? mailMessage.setSentDate(sendDate);
    ??? }
    ??? //發送純文本
    ??? public void addTextContext(String textcontent)throws MessagingException{
    ??? ?BodyPart bodypart=new MimeBodyPart();
    ??? ?bodypart.setContent(textcontent,"text/plain;charset=GB2312");
    ??? ?bodypartArrayList.add(bodypart);
    ??? }
    ??? //發送Html郵件
    ??? public void addHtmlContext(String htmlcontent)throws MessagingException{
    ??? ?BodyPart bodypart=new MimeBodyPart();
    ??? ?bodypart.setContent(htmlcontent,"text/html;charset=GB2312");
    ??? ?bodypartArrayList.add(bodypart);
    ??? }
    ??? //將文件添加為附件
    ??? public void addAttachment(String FileName/*附件文件名*/,String DisplayFileName/*在郵件中想要顯示的文件名*/)
    ??????? throws MessagingException,UnsupportedEncodingException{
    ??? ?BodyPart bodypart=new MimeBodyPart();
    ??????? FileDataSource fds=new FileDataSource(FileName);
    ???????
    ??????? DataHandler dh=new DataHandler(fds);
    ??????? String displayfilename="";
    ??displayfilename = MimeUtility.encodeWord(DisplayFileName,"gb2312", null);//對顯示名稱進行編碼,否則會出現亂碼!
    ??
    ??bodypart.setFileName(displayfilename);//可以和原文件名不一致
    ??????? bodypart.setDataHandler(dh);
    ??? ?bodypartArrayList.add(bodypart);
    ??? }
    ??? //將byte[]作為文件添加為附件
    ??? public void addAttachmentFrombyte(byte[] filebyte/*附件文件的字節數組*/,String DisplayFileName/*在郵件中想要顯示的文件名*/)
    ??????? throws MessagingException,UnsupportedEncodingException{
    ??? ?BodyPart bodypart=new MimeBodyPart();
    ??? ?ByteDataSource fds=new ByteDataSource(filebyte,DisplayFileName);
    ??????
    ??????? DataHandler dh=new DataHandler(fds);
    ??????? String displayfilename="";
    ??displayfilename = MimeUtility.encodeWord(DisplayFileName,"gb2312", null);//對顯示名稱進行編碼,否則會出現亂碼!
    ??
    ??bodypart.setFileName(displayfilename);//可以和原文件名不一致
    ??????? bodypart.setDataHandler(dh);
    ??? ?bodypartArrayList.add(bodypart);
    ??? }

    ???
    ??? //使用遠程文件(使用URL)作為信件的附件
    ??? public void addAttachmentFromUrl(String url/*附件URL地址*/,String DisplayFileName/*在郵件中想要顯示的文件名*/)
    ??????? throws MessagingException,MalformedURLException,UnsupportedEncodingException{
    ??? ?BodyPart bodypart=new MimeBodyPart();
    ??????? //用遠程文件作為信件的附件
    ??????? URLDataSource ur= new URLDataSource(new URL(url));
    ??????? //注:這里用的參數只能為URL對象,不能為URL字串
    ??DataHandler dh=new DataHandler(ur);
    ??String displayfilename="";
    ??????? displayfilename=MimeUtility.encodeWord(DisplayFileName,"gb2312", null);
    ??bodypart.setFileName(displayfilename);//可以和原文件名不一致
    ??bodypart.setDataHandler(dh);
    ??bodypartArrayList.add(bodypart);
    ??? }

    ???
    ??? //設置發件人地址
    ??? public void setMailFrom(String mailFrom)throws MessagingException{
    ??????? mailFromAddress = new InternetAddress(mailFrom);
    ??????? mailMessage.setFrom(mailFromAddress);
    ??? }
    ??? //設置收件人地址,收件人類型為to,cc,bcc(大小寫不限)
    ??? public void setMailTo(String[] mailTo,String mailType)throws Exception{
    ??????? for(int i=0;i<mailTo.length;i++){
    ??????????? mailToAddress = new InternetAddress(mailTo[i]);
    ??????????? if(mailType.equalsIgnoreCase("to")){
    ??????????????? mailMessage.addRecipient(Message.RecipientType.TO,mailToAddress);
    ??????????? }
    ??????????? else if(mailType.equalsIgnoreCase("cc")){
    ??????????????? mailMessage.addRecipient(Message.RecipientType.CC,mailToAddress);
    ??????????? }
    ??????????? else if(mailType.equalsIgnoreCase("bcc")){
    ??????????????? mailMessage.addRecipient(Message.RecipientType.BCC,mailToAddress);
    ??????????? }
    ??????????? else{
    ??????????????? throw new Exception("Unknown mailType: "+mailType+"!");
    ??????????? }
    ??????? }
    ??? }
    ??? //開始投遞郵件
    ??? public void sendMail()throws MessagingException,SendFailedException{
    ??? ?for (int i=0;i<bodypartArrayList.size();i++) {
    ??? ??multipart.addBodyPart((BodyPart)bodypartArrayList.get(i));?
    ??? ?}
    ??? ?mailMessage.setContent(multipart);
    ??????? mailMessage.saveChanges();
    ??????? Transport transport=mailSession.getTransport("smtp");
    ??????? transport.connect(smtpserver,name,password);//以smtp方式登錄郵箱
    ??????? transport.sendMessage(mailMessage,mailMessage.getAllRecipients());
    ??????? //發送郵件,其中第二個參數是所有已設好的收件人地址
    ??????? transport.close();
    ??? }

    }

    //文件 ByteDataSource.java 該文件內容由汪建偉原創。轉載請注明!

    package sendmail;


    /**
    ?* <p>Title: </p>
    ?* <p>Description: 發郵件</p>
    ?* <p>Copyright: Copyright (c) 2005</p>
    ?* <p>Company: Peking University </p>
    ?* @author?汪建偉
    ?* @version 1.0
    ?*/
    import javax.activation.DataSource;
    import java.io.*;
    public class ByteDataSource implements DataSource{
    ?private byte[] filebyte=null;
    ??? private String filetype="application/octet-stream";
    ??? private String filename="";
    ??? private OutputStream outputstream=null;
    ??? private InputStream? inputstream=null;
    ??? public ByteDataSource() {
    ??? }
    ??? public ByteDataSource(String FileName) {
    ??? ?File f=new File(FileName);
    ???? ?filename=f.getName();
    ??? ?try {
    ???inputstream = new FileInputStream(f);
    ???inputstream.read(filebyte);
    ???
    ??} catch (Exception e) {
    ??}
    ??
    ??? }

    ??? public ByteDataSource(byte[] filebyte,String displayfilename) {
    ??????? this.filebyte=filebyte;
    ??????? this.filename=displayfilename;
    ??? }
    ??? public String getContentType() {
    ??????? return filetype;
    ??? }

    ??? publicInputStreamgetInputStream() throws IOException {
    ??? ?InputStream input=new ByteArrayInputStream(filebyte);
    ??????? return input;
    ??? }

    ??? public String getName() {
    ??????? return filename;
    ??? }

    ??? public OutputStream getOutputStream() throws IOException {
    ??? ?
    ??? ?outputstream.write(filebyte);
    ??????? return outputstream;
    ??? }
    }
    //newSendMail.java 發郵件示例

    ??package sendmail;


    /**
    ?* <p>Title: </p>
    ?* <p>Description: 發郵件示例</p>
    ?* <p>Copyright: Copyright (c) 2005</p>
    ?* <p>Company: Peking University </p>
    ?* @author?汪建偉
    ?* @version 1.0
    ?*/

    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Date;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.io.PrintWriter;
    import java.io.BufferedWriter;
    import java.io.*;
    public class newSendMail {
    ? public static void main(String[] args) {
    ???? Mainprogram1 w1= new Mainprogram1();
    ?
    ???? w1.sendmail() ;
    ?
    ??
    ? }
    }

    class Mainprogram1{
    ?
    ? private? java.util.Date sysdate;
    ? Mainprogram1(){
    ????? //獲取要查詢的起止時間
    ????? sysdate = new java.util.Date();
    ???? }

    ? public void sendmail(){ //創建郵件發送實例,發送郵件
    ??? String smtp = "smtp.163.com";//郵件服務器地址
    ??? String mailname = "";//連接郵件服務器的用戶名
    ??? String mailpsw = "";//連連接郵件服務器的用戶密碼
    ??? String mailto = "";// 接收郵件的地址
    ??? String copyto = "";// 抄送郵件的地址
    ??? String mailfrom = "";// 發送郵件的地址
    ??? String mailtitle = "測試郵件標題";// 郵件的標題
    ???? //請根據實際情況賦值
    ??? Mail mymail= new Mail(smtp,mailname, mailpsw);
    ??? String mto[]={mailto};
    ??? String mcc[]={copyto};
    ??? try{
    ?????? mymail.setMailFrom(mailfrom);
    ?????? mymail.setSendDate(new Date());
    ?????? mymail.setMailTo(mto,"to");
    ?????? if (!copyto.matches("")){ //如果抄送不為空,則將信件抄送給copyto
    ?????????? mymail.setMailTo(mcc,"cc");
    ?????? }
    ?????? mymail.setSubject(mailtitle);
    ?????? mymail.addTextContext("郵件內容");
    ?????? mymail.addHtmlContext("html內容");
    ?????? mymail.addAttachment("c:\\測試附件.doc","測試附件.doc");
    ?????? mymail.addAttachmentFromUrl("?????? mymail.addAttachmentFromUrl("??????
    ?????? //下面的附件內容來自一個byte[]類型,增加這個方法的意圖在于如果在web模式下發郵件,就不用生成臨時文件
    ?????? //直接將上載的文件保存成byte[]格式,然后使用該方法添加到郵件的附件中,進行發送
    ?????? InputStreaminputStream=null;
    ???? try {
    ???? File imageFile = new File("c:\\1.jpg");
    ????? ?? inputStream = new FileInputStream(imageFile);
    ????? } catch(IOException ei){}
    ??
    ??? try {
    ???? byte[] b=new byte[inputStream.available()];
    ???
    ???? inputStream.read(b);
    ???? mymail.addAttachmentFrombyte(b,"來自byte的附件.jpg");
    ????
    ??
    ??} catch (IOException e) {
    ???// TODO Auto-generated catch block
    ???e.printStackTrace();
    ??}
    ??????
    ??????
    ??????
    ?????? mymail.sendMail() ;
    ?????? WriteinfoToFile("郵件發出!");
    ??? }
    ??? catch (Exception ex){ WriteinfoToFile("郵件發送失敗!"+ex.toString());}
    ? }

    ?? //向ini文件中寫提示信息
    ? private void WriteinfoToFile(String info){
    ??? try{
    ????? PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("mailinfo.txt",true)));
    ????? pw.println(sysdate.toString()+" "+info);
    ????? pw.close();
    ??? }
    ??? catch(IOException ei){
    ????? System.out.println(sysdate.toString()+ " 向mailinfo.txt文件中寫數據錯誤:"+ei.toString());
    ????? System.exit(0);
    ??? }
    ? }
    }


    FeedBack:
    # 你好
    2010-11-22 15:54 | 余風好
    長須鯨努力掉書袋事故 GUDDSUDUSADSIAUDSFYDIDFSLIFAFSDYIO8YFDOS  回復  更多評論
      
    主站蜘蛛池模板: 免费观看午夜在线欧差毛片| 成年美女黄网站色大免费视频| 亚洲av无码无在线观看红杏| 亚洲免费在线观看视频| 久久免费的精品国产V∧| 久久精品国产亚洲AV无码麻豆 | 中文字幕亚洲图片| 亚洲色www永久网站| 手机在线免费视频| 国产成人精品亚洲一区| 四虎永久成人免费| 美女被吸屁股免费网站| 亚洲综合伊人久久综合| 在线观看片免费人成视频无码| 69av免费视频| 色偷偷女男人的天堂亚洲网| 成人免费无码大片A毛片抽搐色欲| 亚洲成a人片在线播放| 久久久久久噜噜精品免费直播| 999国内精品永久免费观看| 国产精品亚洲四区在线观看| 日韩人妻无码免费视频一区二区三区| 亚洲精品少妇30p| 久久久久久夜精品精品免费啦| 国产人成免费视频| 毛片基地看看成人免费| 亚洲永久永久永久永久永久精品| 看全免费的一级毛片| 亚洲午夜福利717| 亚洲人成免费网站| 亚洲国产精品精华液| 国产专区一va亚洲v天堂| 蜜臀AV免费一区二区三区| 亚洲精品日韩一区二区小说| 亚洲国产精品一区二区九九| 久久er国产精品免费观看2| 亚洲午夜精品一区二区公牛电影院| 久99久精品免费视频热77| 亚洲福利电影一区二区?| 免费看男女下面日出水视频| 久久国产乱子免费精品|