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

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

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

    sunfruit[請(qǐng)?jiān)L問(wèn)http://www.fruitres.cn]

    --我相信JAVA能走得更遠(yuǎn) QQ:316228067

    [原創(chuàng)]用JAVAMAIL發(fā)送郵件的一個(gè)簡(jiǎn)單例子

        --sunfruit

        寫(xiě)了一個(gè)收發(fā)郵件的應(yīng)用程序[在列表里面可以看到]但是畢竟有些復(fù)雜,關(guān)鍵部分其實(shí)也就是幾行代碼,為了大家使用方便,我把發(fā)送郵件的代碼單獨(dú)拿了出來(lái),并且分為發(fā)送附件/不發(fā)送附件兩個(gè)方法,便于大家查看,只是什么設(shè)計(jì)啦,編程思想啦,等等就談不到了,呵呵,大家將就吧

        JDK版本
            1.4.x
        其   他
            JAVAMAIL相關(guān)包
        功能簡(jiǎn)介:
            簡(jiǎn)單的郵件發(fā)送功能,可以發(fā)送附件

        源代碼如下

    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.*;
    import java.util.*;
    import java.util.*;
    import java.text.*;
    import java.io.*;
    public class SendMail
    {
        //傳入的參數(shù)有密碼、姓名、誰(shuí)發(fā)、發(fā)給誰(shuí)、主題、正文內(nèi)容、smtp地址、附件文件路徑、附件的新文件名、發(fā)送類型(text/html)
        //發(fā)送郵件主函數(shù)
        public String sendmail(int myport,String password,String username,String myfrom,String myto,String mysubject,String mytext,String mysmtp,String[] filepath,String[] newfilename,String htmlandtext)
        {
                try{
                    int indexstr=0;
                    if (filepath[0]!=null && !filepath[0].equals(""))
                        indexstr=1;
                        //替換字符串
                   //     jbemail myjbemail=new jbemail();
                   //     filepath=myjbemail.myreplace(filepath,"\\","\\\\");
                   //     System.out.println("附件地址"+filepath+"服務(wù)器地址"+mysmtp+mysmtp.length());
                        //Properties props = new Properties();
                    Properties props = System.getProperties();
                    Session sendMailSession;
                    Store store;  //收郵件時(shí)使用
                    Transport transport;//發(fā)郵件時(shí)使用
                    props.put("mail.smtp.host",mysmtp);
                    props.put("mail.smtp.auth","true");
                    SmtpAuthenticator sa=new SmtpAuthenticator(username,password);
                    sendMailSession = Session.getInstance(props,sa);
                    //sendMailSession = Session.getInstance(props,null);
                    sendMailSession.setDebug(true);

                    MimeMessage newMessage = new MimeMessage(sendMailSession);
                    newMessage.setFrom(new InternetAddress(myfrom));
                    newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(myto));
                    //設(shè)定郵件格式
                    newMessage.setSentDate(new Date());
                    System.out.println(htmlandtext+"郵件正文格式");
                    Multipart multipart = new MimeMultipart();
                    if (htmlandtext.equals("text"))
                    {
                        //獲得文本格式的郵件

                        newMessage.setSubject(mysubject);
                        BodyPart messageBodyPart = new MimeBodyPart();
                        messageBodyPart.setText(mytext);
                        multipart.addBodyPart(messageBodyPart);
                    }
                    else if(htmlandtext.equals("html"))
                    {
                        //設(shè)置郵件內(nèi)容,將郵件body部分轉(zhuǎn)化為HTML格式
                        newMessage.setSubject(mysubject,"gb2312");
                        BodyPart messageBodyPart = new MimeBodyPart();
                        messageBodyPart.setDataHandler(new DataHandler(mytext,"text/html;charset=gb2312"));
                        multipart.addBodyPart(messageBodyPart);
                    }
                    if (indexstr>0)
                    {

                        for(int i=0;i                    {
                            if (newfilename[i]!=null)
                            {
                                //創(chuàng)建BodyPart對(duì)象以便獲得附件
                                BodyPart messageBodyPart = new MimeBodyPart();
                                System.out.println("附件地址"+filepath[i]);
                                DataSource source = new FileDataSource(filepath[i]);
                                messageBodyPart.setDataHandler(new DataHandler(source));
                                messageBodyPart.setFileName(newfilename[i]);
                                multipart.addBodyPart(messageBodyPart);
                            }
                        }
                    }
                    //將正文和附件添加到郵件中
                    newMessage.setContent(multipart);
                    newMessage.saveChanges();
                    //transport = sendMailSession.getStore("pop3");
                    transport = sendMailSession.getTransport("smtp");
                    transport.connect(mysmtp,myport,username,password);
                    //transport.connect();
                    transport.send(newMessage,newMessage.getAllRecipients());
                    System.out.println("成功發(fā)送到"+myto);
                    return "ok";
            }
            catch(MessagingException m)
            {
                    System.out.println(m.toString()+"失敗");
                    return myto;
            }
        }
        //不含發(fā)送附件的函數(shù)
        //傳入的參數(shù)有port地址、密碼、姓名、誰(shuí)發(fā)、發(fā)給誰(shuí)、主題、正文內(nèi)容、smtp地址、發(fā)送類型(text/html)
        public String sendmail(String mailPathlog,int myport,String password,String username,String myfrom,String myto,String mysubject,String mytext,String mysmtp,String htmlandtext)
        {
                try{
                    //解碼
                    mysubject=java.net.URLDecoder.decode(mysubject);
                        //Properties props = new Properties();
                    Properties props = System.getProperties();
                    Session sendMailSession;
                    Store store;  //收郵件時(shí)使用
                    Transport transport;//發(fā)郵件時(shí)使用
                    props.put("mail.smtp.host",mysmtp);
                    props.put("mail.smtp.auth","true");
                    SmtpAuthenticator sa=new SmtpAuthenticator(username,password);
                    //身份驗(yàn)證
                    sendMailSession = Session.getInstance(props,sa);
                    //sendMailSession = Session.getInstance(props,null);
                    sendMailSession.setDebug(true);
                    MimeMessage newMessage = new MimeMessage(sendMailSession);
                    try
                    {
                      newMessage.setFrom(new InternetAddress(myfrom,"法律之星"));
                      newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(myto));
                    }
                    catch(java.io.UnsupportedEncodingException ex)
                    {
                       System.out.println(ex.toString());
                    }
                    //設(shè)定郵件格式
                    newMessage.setSentDate(new Date());
                    System.out.println(htmlandtext+"郵件正文格式");
                    Multipart multipart = new MimeMultipart();
                    if (htmlandtext.equals("text"))
                    {
                        //獲得文本格式的郵件

                        newMessage.setSubject(mysubject);
                        BodyPart messageBodyPart = new MimeBodyPart();
                        messageBodyPart.setText(mytext);
                        multipart.addBodyPart(messageBodyPart);
                    }
                    else if(htmlandtext.equals("html"))
                    {
                        //設(shè)置郵件內(nèi)容,將郵件body部分轉(zhuǎn)化為HTML格式
                        newMessage.setSubject(mysubject,"gb2312");
                        BodyPart messageBodyPart = new MimeBodyPart();
                        messageBodyPart.setDataHandler(new DataHandler(mytext,"text/html;charset=gb2312"));
                        multipart.addBodyPart(messageBodyPart);
                    }
                    //將正文添加到郵件中
                    newMessage.setContent(multipart);
                    newMessage.saveChanges();
                    //transport = sendMailSession.getStore("pop3");
                    transport = sendMailSession.getTransport("smtp");
                    transport.connect(mysmtp,myport,username,password);
                    //transport.connect();
                    transport.send(newMessage,newMessage.getAllRecipients());
                    System.out.println("成功發(fā)送到"+myto+mytext);
                    return "ok";
            }
            catch(MessagingException m)
            {
                    System.out.println(m.toString()+"失敗");
                    //生成當(dāng)前日期
                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                    Date dateTime= new Date();
                    String sDateTime=dateFormat.format(dateTime);
                    //生成日志文件
                    try
                    {
                        File filelog=new File(mailPathlog+"\\"+"mainlog.txt");
                        BufferedWriter out2=new BufferedWriter(new FileWriter(filelog.getPath(),true));
                        String newline = System.getProperty("line.separator");
                        out2.write(sDateTime+"/"+mysmtp+"/"+myfrom+"/"+myto+"/"+m.toString()+"/"+newline);
                        out2.close();
                    }
                    catch (IOException ex)
                    {
                        System.out.println(ex.toString());
                    }
                    return myto;
            }
        }
        class SmtpAuthenticator extends Authenticator
        {
            //SMTP身份驗(yàn)證
            public SmtpAuthenticator(String username,String password)
            {
                this.username=username;
                this.password=password;
            }
            public PasswordAuthentication getPasswordAuthentication()
            {
                return new  PasswordAuthentication(this.username,this.password);
            }
            String username=null;
            String password=null;
        }
    }

    posted on 2006-02-19 18:03 sunfruit 閱讀(1805) 評(píng)論(4)  編輯  收藏 所屬分類: JAVA SE & EE

    評(píng)論

    # re: [原創(chuàng)]用JAVAMAIL發(fā)送郵件的一個(gè)簡(jiǎn)單例子 2007-12-01 07:34 ghjk

    chinos putos

    y ojetes

    deberian de publicar algo mas claro

    esto no se entiende nada  回復(fù)  更多評(píng)論   

    # re: [原創(chuàng)]用JAVAMAIL發(fā)送郵件的一個(gè)簡(jiǎn)單例子 2007-12-01 07:36 ghjk

    郵件例程-JavaMail-發(fā)送HTML郵件
    郵件例程-JavaMail-發(fā)送HTML郵件
    郵件例程-JavaMail-發(fā)送HTML郵件
    郵件例程-JavaMail-發(fā)送HTML郵件
    郵件例程-JavaMail-發(fā)送HTML郵件   回復(fù)  更多評(píng)論   

    # re: [原創(chuàng)]用JAVAMAIL發(fā)送郵件的一個(gè)簡(jiǎn)單例子[未登錄](méi) 2011-06-15 13:21 wo

    sdasd  回復(fù)  更多評(píng)論   

    # re: [原創(chuàng)]用JAVAMAIL發(fā)送郵件的一個(gè)簡(jiǎn)單例子[未登錄](méi) 2011-06-15 13:22 wo

    asd  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 国产大片免费天天看| 免费夜色污私人影院在线观看| 久久精品国产亚洲av麻豆小说| 日本不卡免费新一二三区| 久久国产色AV免费观看| 一级毛片一级毛片免费毛片| 亚洲性色AV日韩在线观看| 亚洲免费人成在线视频观看| 四虎免费影院4hu永久免费| 97视频免费在线| 日韩精品人妻系列无码专区免费| xxxxx做受大片在线观看免费| 亚洲熟妇AV一区二区三区宅男| 亚洲av日韩av高潮潮喷无码| 久久伊人亚洲AV无码网站| 国产在线不卡免费播放| 成年轻人网站色免费看| 19禁啪啪无遮挡免费网站| 久久久久久成人毛片免费看| 久久久久久av无码免费看大片| 老湿机一区午夜精品免费福利| 亚洲久悠悠色悠在线播放| 精品久久久久久亚洲精品| 亚洲欧洲春色校园另类小说| 亚洲色图在线观看| 久久久无码精品亚洲日韩蜜桃| 亚洲色精品vr一区二区三区| 久久青青草原亚洲av无码| 亚洲欧洲日产国码一级毛片| 免费一级毛片不卡不收费| 国产精品无码免费视频二三区| 夜夜嘿视频免费看| 午夜男人一级毛片免费 | 亚洲视频在线一区二区| 国产精品酒店视频免费看| 国产aa免费视频| 亚洲AV无码乱码精品国产| 亚洲国产一区视频| 狠狠亚洲婷婷综合色香五月排名| 国产成人综合亚洲亚洲国产第一页| 日本亚洲国产一区二区三区|