去哪網實習總結:定時發送郵件(JavaWeb)

來源:互聯網
上載者:User

標籤:java   java web   定時任務   定時發送郵件   

本來是以做資料採礦的目的進去哪網的,結構卻成了系統開發。。。

不過還是比較認真的做了三個月,老師很認同我的工作態度和成果。。。

實習馬上就要結束了,總結一下幾點之前沒有注意過的變成習慣和問題,分享給大家。


同時打個廣告:去哪網內審部招JavaWeb開發實習生,時間非常自由,每周一天、周六周日甚至都可以,時間充裕的小夥伴給我留言啊,掙個零花錢,還能長點經驗。。。。(保研的、想工作的大四狗最合適不過了。。。)



接上一篇:http://blog.csdn.net/mmc2015/article/details/47685369

需要的包:

activation.jar:http://download.csdn.net/detail/mmc2015/9009847

mail.jar:http://download.csdn.net/detail/mmc2015/9009839

補充串連資料庫的包:mysql-connector-java-5.1.27-bin.jar:


不介紹過多知識點,直接上代代碼:

public static void sendMail() throws Exception {        Properties prop = new Properties();        prop.setProperty("mail.host", "smtp.qunar.com");        prop.setProperty("mail.transport.protocol", "smtp");        prop.setProperty("mail.smtp.auth", "true");                //使用JavaMail發送郵件的5個步驟        //1、建立session        Session session = Session.getInstance(prop);        //開啟Session的debug模式,這樣就可以查看到程式發送Email的運行狀態        session.setDebug(true);        //2、通過session得到transport對象        Transport ts = session.getTransport();        //3、使用郵箱的使用者名稱和密碼連上郵件伺服器,發送郵件時,寄件者需要提交郵箱的使用者名稱和密碼給smtp伺服器,使用者名稱和密碼都通過驗證之後才能夠正常發送郵件給收件者。        ts.connect("smtp.qunar.com", "你的郵箱帳號", "你的密碼");        //4、建立郵件(只包含文本)        //Message message = createSimpleMail(session);        //4、建立郵件(帶附件)        Message message = createAttachMail(session);        //5、發送郵件        ts.sendMessage(message, message.getAllRecipients());        ts.close();}




//建立一封只包含文本的郵件    public static MimeMessage createSimpleMail(Session session) throws Exception {        //建立郵件對象        MimeMessage message = new MimeMessage(session);        //指明郵件的寄件者        message.setFrom(new InternetAddress("<span style="font-family: Arial, Helvetica, sans-serif;">你的郵箱帳號</span><span style="font-family: Arial, Helvetica, sans-serif;">@qunar.com"));</span>        //指明郵件的收件者,現在寄件者和收件者是一樣的,那就是自己給自己發        message.setRecipient(Message.RecipientType.TO, new InternetAddress("收件者郵箱帳號@qunar.com"));        //郵件的標題        message.setSubject("只包含文本的簡單郵件");                //郵件的常值內容,為了避免郵件內文中文亂碼問題,需要使用charset=UTF-8指明字元編碼        message.setContent("Hello Mail!", "text/html;charset=UTF-8");                //返回建立好的郵件對象        System.out.println(message);        return message;    }



//建立一封包含附件的郵件    public static MimeMessage createAttachMail(Session session) throws Exception {        //建立郵件對象        MimeMessage message = new MimeMessage(session);        //指明郵件的寄件者        message.setFrom(new InternetAddress("<span style="font-family: Arial, Helvetica, sans-serif;">你的郵箱帳號</span><span style="font-family: Arial, Helvetica, sans-serif;">@qunar.com"));</span>        //指明郵件的收件者,現在寄件者和收件者是一樣的,那就是自己給自己發        message.setRecipient(Message.RecipientType.TO, new InternetAddress("<span style="font-family: Arial, Helvetica, sans-serif;">收件者郵箱帳號</span><span style="font-family: Arial, Helvetica, sans-serif;">@qunar.com"));</span>        //郵件的標題        message.setSubject("包含附件的郵件");                //建立郵件內文,為了避免郵件內文中文亂碼問題,需要使用charset=UTF-8指明字元編碼        MimeBodyPart text = new MimeBodyPart();        String mailText = "使用JavaMail建立的帶附件的郵件\n";        mailText = "定時任務,時間為:12:00:00\n";        text.setContent(mailText, "text/html;charset=UTF-8");        //建立郵件附件        MimeBodyPart attach = new MimeBodyPart();        //DataHandler dh = new DataHandler(new FileDataSource("C:\\Users\\userName\\Desktop\\test.xlsx"));      String nowDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());      String serverRealRootPath = GetServerRealPathUtil.getRootPath();      String fileName = <strong>serverRealRootPath</strong>+<strong>File.separator</strong>+nowDate+".xlsx";//這個函數還記得吧。。。。。      DataHandler dh = new DataHandler(new FileDataSource(fileName));        attach.setDataHandler(dh);        attach.setFileName(dh.getName());                        //建立容器描述資料關係(附件和本文內容本質是一種容器的內含項目關聯性,描述好了就ok)        MimeMultipart mp = new MimeMultipart();        mp.addBodyPart(text);        mp.addBodyPart(attach);        mp.setSubType("mixed");        message.setContent(mp);        message.saveChanges();                //返回建立好的郵件對象        System.out.println(message);        return message;    }





著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

去哪網實習總結:定時發送郵件(JavaWeb)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.