麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

Java Web stmp發送帶附件郵件(附SSL版)

2024-07-14 08:40:59
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Java Web stmp發送帶附件郵件的具體代碼,供大家參考,具體內容如下

public class MailFileSendUtils { private Properties props; //系統屬性 private Session session; //郵件會話對象 private MimeMessage mimeMsg; //MIME郵件對象 private Multipart mp; //Multipart對象,郵件內容,標題,附件等內容均添加到其中后再生成MimeMessage對象 /**  * Constructor  * @param  */ public MailFileSendUtils(){  props = System.getProperties();  props.put("mail.smtp.auth","false");  session = Session.getDefaultInstance(props, null);  session.setDebug(true);  mimeMsg = new MimeMessage(session);  mp = new MimeMultipart(); } /**  * Constructor  * @param smtp 郵件發送服務器  */ public MailFileSendUtils(String smtp, String username, String password){  props = System.getProperties();  props.put("mail.smtp.auth","true");  props.put("mail.smtp.host", smtp);  props.put("username", username);  props.put("password", password);  session = Session.getDefaultInstance(props, null);  session.setDebug(true);  mimeMsg = new MimeMessage(session);  mp = new MimeMultipart(); } /**  * 發送郵件  */ public boolean sendMail(String from, String[] to, String subject, String content, String filename) {  try {   //設置發信人   mimeMsg.setFrom(new InternetAddress(from));   //設置接收人   for (int i = 0; i < to.length; i++) {    mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to[i]));   }   //設置抄送人//   for (int i = 0; i < copyto.length; i++) {//    mimeMsg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(copyto[i]));//   }   //設置主題   mimeMsg.setSubject(subject);   //設置正文   BodyPart bp = new MimeBodyPart();   bp.setContent(content, "text/html;charset=utf-8");   mp.addBodyPart(bp);   //設置附件   bp = new MimeBodyPart();   FileDataSource fileds = new FileDataSource(filename);   bp.setDataHandler(new DataHandler(fileds));   bp.setFileName(MimeUtility.encodeText(fileds.getName(),"UTF-8","B"));   mp.addBodyPart(bp);   mimeMsg.setContent(mp);   mimeMsg.saveChanges();   //發送郵件   if(props.get("mail.smtp.auth").equals("true")){    Transport transport = session.getTransport("smtp");    transport.connect((String)props.get("mail.smtp.host"), (String)props.get("username"), (String)props.get("password"));    transport.sendMessage(mimeMsg, mimeMsg.getRecipients(Message.RecipientType.TO));//    transport.sendMessage(mimeMsg, mimeMsg.getRecipients(Message.RecipientType.CC));    transport.close();   }else{    Transport.send(mimeMsg);   }   System.out.println("郵件發送成功");  } catch (MessagingException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } catch (UnsupportedEncodingException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }  return true; }// public void toSendMail(SendMailParam sendMailParam){//  MailFileSendUtils email = new MailFileSendUtils(sendMailParam.getSmtp(), sendMailParam.getUsername(), sendMailParam.getPassword());//  email.sendMail(sendMailParam.getFrom(), sendMailParam.getTo(), sendMailParam.getSubject(), sendMailParam.getContent(), sendMailParam.getFilepath());// } public static void main(String[] args) {  String smtp = "smtp.exmail.qq.com";  String username = "發送的郵箱賬號";  String password = "發送的郵箱密碼";  String from = "發送的郵箱";  String[] to = {"接收郵件的郵箱"};//  String[] copyto = {"抄送的郵箱"};  String subject = "主題6";  String content = "郵件內容6";  String filename = "附件的文件";  MailFileSendUtils email = new MailFileSendUtils(smtp, username, password);//  email.sendMail(from, to, copyto, subject, content, filename);  email.sendMail(from, to, subject, content, filename); }}

(附:SSL版)

 

public class MailFileSendUtils { private Properties props; //系統屬性 private Session session; //郵件會話對象 private MimeMessage mimeMsg; //MIME郵件對象 private Multipart mp; //Multipart對象,郵件內容,標題,附件等內容均添加到其中后再生成MimeMessage對象 /**  * Constructor  * @param  */ public MailFileSendUtils(){  props = System.getProperties();  props.put("mail.smtp.auth","false");  session = Session.getDefaultInstance(props, null);  session.setDebug(true);  mimeMsg = new MimeMessage(session);  mp = new MimeMultipart(); } /**  * Constructor  * @param smtp 郵件發送服務器  */ public MailFileSendUtils(String smtp,        String username,        String password){  Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());  final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";  props = System.getProperties();  MailSSLSocketFactory sf = null;  try {   sf = new MailSSLSocketFactory();  } catch (GeneralSecurityException e) {  }  sf.setTrustAllHosts(true);  props.put("mail.smtp.auth","true");  props.put("mail.smtp.host", smtp);  props.put("mail.smtp.socketFactory.class", SSL_FACTORY);  props.put("mail.smtp.socketFactory.fallback", "false");  props.put("mail.smtp.ssl.enable", "true");  props.put("mail.smtp.port", "465");  props.put("mail.smtp.ssl.socketFactory", sf);//  props.put("username", username);//  props.put("password", password);  session = Session.getInstance(props, new Authenticator() {   @Override   protected PasswordAuthentication getPasswordAuthentication() {    return new PasswordAuthentication(username, password);   }  });  session.setDebug(true);  mimeMsg = new MimeMessage(session);  mp = new MimeMultipart(); } /**  * 發送郵件  */ public boolean sendMail(String from,       String[] to,       String subject,       String content,       String filename) {  try {   //設置發信人   mimeMsg.setFrom(new InternetAddress(from));   //設置接收人   for (int i = 0; i < to.length; i++) {    mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to[i]));   }   //設置抄送人//   for (int i = 0; i < copyto.length; i++) {//    mimeMsg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(copyto[i]));//   }   //設置主題   mimeMsg.setSubject(subject);   //設置正文   BodyPart bp = new MimeBodyPart();   bp.setContent(content, "text/html;charset=utf-8");   mp.addBodyPart(bp);   //設置附件   bp = new MimeBodyPart();   FileDataSource fileds = new FileDataSource(filename);   bp.setDataHandler(new DataHandler(fileds));   bp.setFileName(MimeUtility.encodeText(fileds.getName(),"UTF-8","B"));   mp.addBodyPart(bp);   mimeMsg.setContent(mp);   mimeMsg.saveChanges();   //發送郵件   if(props.get("mail.smtp.auth").equals("true")){    Transport transport = session.getTransport("smtp");    transport.connect((String)props.get("mail.smtp.host"), (String)props.get("username"), (String)props.get("password"));    transport.sendMessage(mimeMsg, mimeMsg.getRecipients(Message.RecipientType.TO));//    transport.sendMessage(mimeMsg, mimeMsg.getRecipients(Message.RecipientType.CC));    transport.close();   }else{    Transport.send(mimeMsg);   }   System.out.println("郵件發送成功");  } catch (MessagingException e) {   e.printStackTrace();  } catch (UnsupportedEncodingException e) {   e.printStackTrace();  }  return true; } public boolean toSendMail(SendMailParam sendMailParam){  MailFileSendUtils email = new MailFileSendUtils(    sendMailParam.getSmtp(),    sendMailParam.getUsername(),    sendMailParam.getPassword());  email.sendMail(    sendMailParam.getFrom(),    sendMailParam.getTo(),    sendMailParam.getSubject(),    sendMailParam.getContent(),    sendMailParam.getFilepath());  return true; }// public static void main(String[] args) {//  String smtp = "smtp.mxhichina.com";//  String username = "郵箱";//  String password = "郵箱密碼";//  String from = "誰去發";//  String[] to = {"發給誰"};////  String[] copyto = {"抄送的郵箱"};//  String subject = "huawei";//  String content = "郵件內容6666";//  String filename = "gdt-3583118353-ad-20170823.xls";//  MailFileSendUtils email = new MailFileSendUtils(smtp, username, password);////  email.sendMail(from, to, copyto, subject, content, filename);//  email.sendMail(from, to, subject, content, filename);// }}

在項目中使用這套工具,main方法我注釋掉,然后使用toSendMail(SendMailParam sendMailParam)。
這里定義的SendMailParam 為:

 

public class SendMailParam { private String smtp; private String username; private String password; private String from;//發送人 private String[] to;//接收人 //  String[] copyto = {"[email protected]"}; private String subject;//郵件主題 private String content;//郵件內容 private String filepath;//文件拿到的路徑 public SendMailParam(){  this.smtp = "smtp.exmail.qq.com";//例子  this.username = "郵箱賬號";  this.password = "郵箱密碼";  this.from = "郵箱";  this.subject = "";  this.content = "";  this.filepath = ""; } public String getSmtp() {  return smtp; } public void setSmtp(String smtp) {  this.smtp = smtp; } public String getUsername() {  return username; } public void setUsername(String username) {  this.username = username; } public String getPassword() {  return password; } public void setPassword(String password) {  this.password = password; } public String getFrom() {  return from; } public void setFrom(String from) {  this.from = from; } public String[] getTo() {  return to; } public void setTo(String[] to) {  this.to = to; } public String getSubject() {  return subject; } public void setSubject(String subject) {  this.subject = subject; } public String getContent() {  return content; } public void setContent(String content) {  this.content = content; } public String getFilepath() {  return filepath; } public void setFilepath(String filepath) {  this.filepath = filepath; }}

maven依賴包

<dependency>  <groupId>javax.mail</groupId>  <artifactId>mail</artifactId>  <version>1.4.7</version> </dependency>

gradle依賴包

compile "javax.mail:mail:1.4.7"

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久日本 | 99视频有精品视频高清 | 天天操很很操 | 男女无套免费视频 | 羞羞的网址 | 羞羞网站 | 免费99热在线观看 | 97porn| av在线播放电影 | 日韩黄色片免费看 | 九色 在线 | 一色屋任你操 | 国产成人av免费看 | 蜜桃久久一区二区三区 | 久久国产综合精品 | aa国产视频一区二区 | 久久国产精 | 欧美大荫蒂xxx | 欧美日韩在线视频一区 | 亚洲人成中文字幕在线观看 | 国产理论视频在线观看 | www.热| 九九热在线观看视频 | 草莓福利视频在线观看 | 网站毛片| 天天操天天骑 | 一级一片免费看 | 一区二区久久精品66国产精品 | h视频免费在线 | 国产超碰人人做人人爱ⅴa 国产精品久久久久久久hd | 在线看免费观看av | 人人做人人看 | 美国黄色小视频 | 欧美a黄| 亚洲二区免费 | 久久免费视频7 | 欧美日韩国产成人在线 | 亚洲精品午夜在线 | 日本a∨精品中文字幕在线 狠狠干精品视频 | 成人辣文 | 国产精品自拍片 |