日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

java meil

發布時間:2023/12/19 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 java meil 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.util.Date;
import java.util.List;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

/**
 *  突然想起要可以寫一下博客,忘記是那個版本的 mail 了 ,可以確定的是不是最新版的 ,系統是老系統來的 
 * @author mysterious
 *
 */
public class ComplexMail { // 復雜郵件 
    // 記得開 POP3/SMTP/IMAP  服務 
    private static final String account_number = "abc@163.com";  // 也是發送人
    private static final String password = "***"; // 密鑰   // //
    private static final String Email_server_address = "smtp.163.com";  // 163 :smtp.163.com qq:smtp.qq.com
    
    /*static {  // 為了防止 附件出現 文件類型變bin類型  // 未測試
        System.setProperty("mail.mime.splitlongparameters", "false");
        System.setProperty("mail.mime.charset", "UTF-8");
    }*/
    
    public void Understanding_email(String addressee,String HTML_content,List<String> enclosure){  // // 收件人地址,html,附件
        // 創建郵件服務器鏈接會話 
        /*MimeMessage 類 ----- 代表整封郵件,包括MIME對象的消息頭與MimeMultipart對象
        MimeBodyPart 類 ---- 代表郵件中一個MIME消息
        MimeMultiPart 類 ---- 代表一個或多個MIME消息組合而成的組合MIME消息 */
        Properties properties = new Properties();
        properties.put("mail.transport.protocol", "smtp");  // // 使用的協議(JavaMail規范要求)
        properties.put("mail.smtp.host", Email_server_address);  // // 發件人的郵箱的 SMTP 服務器地址
        properties.put("mail.smtp.auth", "true");// 連接認證
        properties.put("mail.debug", "true");// 在控制臺顯示連接日志信息
        //properties.put("mail.smtp.ssl.enable", "true");//設置是否使用ssl安全連接  ---一般都使用
        // 而用163郵箱的時候就不需要驗證碼,但是 SSL 加密時(端口465/587),總是會出現各種錯誤,不用 SSL 加密(端口25)就可以正常發送
        
        Session session = Session.getInstance(properties);// 與郵件服務器連接會話    
        
        // 步驟二:創建Message
        MimeMessage message = new MimeMessage(session);
        // 設置郵件頭(簡單郵件和復雜郵件相同
        try {
            message.setFrom(new InternetAddress(account_number, "協同系統", "UTF-8"));  // 發件人  加個昵稱 
            //message.setRecipients(Message.RecipientType.TO, "");
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(addressee, "人員", "UTF-8"));  // 收件人  價格昵稱 
            message.setSubject("圖紙", "UTF-8");  // 郵件主題 
            
                MimeMultipart mimeMultipart = new MimeMultipart();
                    if(enclosure.size()>0){
                        for(int i = 0;i<enclosure.size();i++){
                            System.out.println(enclosure.get(i));
                            // 設置郵件體
                            MimeBodyPart attachment = new MimeBodyPart();    // 將所有 BodyPart 組合起來變為 Multipart   // 將最后合成的 MultiPart 交給 MimeMessage 對象
                            attachment.setDataHandler(new DataHandler(new FileDataSource(enclosure.get(i))));// 將附件數據添加到“節點” (鏈接數據文件)
                            // 因中文附件名編碼的問題,會產生亂碼,必須使用 JavaMail 提供的工具類 MimeUtility 來包裝中文字符
                            // 設置 filename 可自動生成: Content-Disposition:attachment;filename=xxx 
                            String name = enclosure.get(i);
                            attachment.setFileName(MimeUtility.encodeText(name.substring(19)));  // 可以防止 出現 文件類型變bin類型
                            
                            mimeMultipart.addBodyPart(attachment);
                        }
                    }
                    
                    
                    // html
                    System.out.println("HTML_content>>>"+HTML_content);
                    MimeBodyPart content = new MimeBodyPart();
                    content.setContent(HTML_content, "text/html;charset=utf-8");
                    
                
                
                mimeMultipart.addBodyPart(content);
                mimeMultipart.setSubType("mixed");
                
                
             // 5. Content: 郵件正文(可以使用html標簽)(內容有廣告嫌疑,避免被郵件服務器誤認為是濫發廣告以至返回失敗,請修改發送內容)
             message.setContent(mimeMultipart); 
             message.setSentDate(new Date()); // 設置發件時間
             message.saveChanges();// 保存設置
             
             Transport transport = session.getTransport();// 4. 根據 Session 獲取郵件傳輸對象
             
             transport.connect(Email_server_address,account_number, password);
             
             // 發送郵件, 發到所有的收件地址, message.getAllRecipients() 獲取到的是在創建郵件對象時添加的所有收件人, 抄送人, 密送人
             transport.sendMessage(message, message.getAllRecipients());
             transport.close();// 關閉連接
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
    
    

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        //ComplexMail complexMail =new ComplexMail();
    //mailbox 是 主要內容,我這里是 HTML 的代碼,AnnexDetailsList 為附件的 地址 //complexMail.Understanding_email("", mailbox, AnnexDetailsList); // 收件人地址,html,附件 } }

import java.util.Date;import java.util.List;import java.util.Properties;
import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import javax.mail.internet.MimeUtility;
/*** 突然想起要可以寫一下博客,忘記是那個版本的 mail 了 ,可以確定的是不是最新版的 ,系統是老系統來的* @author mysterious**/public class ComplexMail { // 復雜郵件// 記得開 POP3/SMTP/IMAP 服務//private static final String account_number = "calmness_killer@163.com"; // 也是發送人//private static final String password = "XHNBBISRRRMHACWR"; // 密鑰private static final String account_number = "sjst2021@163.com"; // 也是發送人private static final String password = "TFXQXEGWNOJVWOVE"; // 密鑰 // // LMH@183894461st // TFXQXEGWNOJVWOVEprivate static final String Email_server_address = "smtp.163.com"; // 163 :smtp.163.com qq:smtp.qq.com/*static { // 為了防止 附件出現 文件類型變bin類型 // 未測試System.setProperty("mail.mime.splitlongparameters", "false");System.setProperty("mail.mime.charset", "UTF-8");}*/public void Understanding_email(String addressee,String HTML_content,List<String> enclosure){ // // 收件人地址,html,附件// 創建郵件服務器鏈接會話/*MimeMessage 類 ----- 代表整封郵件,包括MIME對象的消息頭與MimeMultipart對象MimeBodyPart 類 ---- 代表郵件中一個MIME消息MimeMultiPart 類 ---- 代表一個或多個MIME消息組合而成的組合MIME消息 */Properties properties = new Properties(); properties.put("mail.transport.protocol", "smtp"); // // 使用的協議(JavaMail規范要求) properties.put("mail.smtp.host", Email_server_address); // // 發件人的郵箱的 SMTP 服務器地址 properties.put("mail.smtp.auth", "true");// 連接認證 properties.put("mail.debug", "true");// 在控制臺顯示連接日志信息 //properties.put("mail.smtp.ssl.enable", "true");//設置是否使用ssl安全連接 ---一般都使用 // 而用163郵箱的時候就不需要驗證碼,但是 SSL 加密時(端口465/587),總是會出現各種錯誤,不用 SSL 加密(端口25)就可以正常發送 Session session = Session.getInstance(properties);// 與郵件服務器連接會話 // 步驟二:創建Message MimeMessage message = new MimeMessage(session); // 設置郵件頭(簡單郵件和復雜郵件相同 try {message.setFrom(new InternetAddress(account_number, "審圖協同系統", "UTF-8")); // 發件人 加個昵稱//message.setRecipients(Message.RecipientType.TO, "");message.setRecipient(Message.RecipientType.TO, new InternetAddress(addressee, "人員", "UTF-8")); // 收件人 價格昵稱message.setSubject("審圖", "UTF-8"); // 郵件主題MimeMultipart mimeMultipart = new MimeMultipart();if(enclosure.size()>0){for(int i = 0;i<enclosure.size();i++){System.out.println(enclosure.get(i));// 設置郵件體 MimeBodyPart attachment = new MimeBodyPart();// 將所有 BodyPart 組合起來變為 Multipart // 將最后合成的 MultiPart 交給 MimeMessage 對象 attachment.setDataHandler(new DataHandler(new FileDataSource(enclosure.get(i))));// 將附件數據添加到“節點” (鏈接數據文件) // 因中文附件名編碼的問題,會產生亂碼,必須使用 JavaMail 提供的工具類 MimeUtility 來包裝中文字符 // 設置 filename 可自動生成: Content-Disposition:attachment;filename=xxx String name = enclosure.get(i); attachment.setFileName(MimeUtility.encodeText(name.substring(19))); // 可以防止 出現 文件類型變bin類型 mimeMultipart.addBodyPart(attachment);}} // htmlSystem.out.println("HTML_content>>>"+HTML_content); MimeBodyPart content = new MimeBodyPart(); content.setContent(HTML_content, "text/html;charset=utf-8"); mimeMultipart.addBodyPart(content); mimeMultipart.setSubType("mixed"); // 5. Content: 郵件正文(可以使用html標簽)(內容有廣告嫌疑,避免被郵件服務器誤認為是濫發廣告以至返回失敗,請修改發送內容) message.setContent(mimeMultipart); message.setSentDate(new Date()); // 設置發件時間 message.saveChanges();// 保存設置 Transport transport = session.getTransport();// 4. 根據 Session 獲取郵件傳輸對象 transport.connect(Email_server_address,account_number, password); // 發送郵件, 發到所有的收件地址, message.getAllRecipients() 獲取到的是在創建郵件對象時添加的所有收件人, 抄送人, 密送人 transport.sendMessage(message, message.getAllRecipients()); transport.close();// 關閉連接} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
public static void main(String[] args) {// TODO Auto-generated method stub//ComplexMail complexMail =new ComplexMail();//complexMail.Understanding_email(toMailList.get(0).get("BY5").toString(), mailbox, AnnexDetailsList); // 收件人地址,html,附件 }
}

時刻告訴自己,自己是個菜雞......

總結

以上是生活随笔為你收集整理的java meil的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。