真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用JavaWeb怎么實(shí)現(xiàn)郵件發(fā)送功能

使用JavaWeb怎么實(shí)現(xiàn)郵件發(fā)送功能?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)網(wǎng)站建設(shè)、成都手機(jī)網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)建站擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專才。

項(xiàng)目中遇到的問(wèn)題:

1、在執(zhí)行到 File file = new File(“D:\Chat_Software\sky.JPG”);時(shí)出現(xiàn)錯(cuò)誤,之前寫的時(shí)xlsx文件,測(cè)試期間可以對(duì).xls,jpg,文本,.doc文件進(jìn)行發(fā)送。發(fā)送xlsx文件時(shí)出現(xiàn)報(bào)錯(cuò)。
問(wèn)題解決方案:
.xls文件擴(kuò)展名對(duì)應(yīng)的是Microsoft Office EXCEL 2003及以前的版本。
.xlsx文件擴(kuò)展名對(duì)應(yīng)的是Microsoft Office EXCEL 2007及后期的版本。
有可能時(shí)你下載的mai不是1.6以上版本的,建議下載1.6以上版本的mail

2、在執(zhí)行到 message.saveChanges(); 方法報(bào)錯(cuò)無(wú)法進(jìn)行保存設(shè)置,也有可能時(shí)你的mail版本較低造成的。

在書(shū)寫 File file = new File(); 時(shí)注意修改正確的路徑,也可以寫在form表單里用file進(jìn)行傳值,主題和內(nèi)容也寫在了方法里因人而異如果其他需求可以需改參數(shù)進(jìn)行傳值。

本次用到的主要jar包如下:

  • javax.mail-1.6.0.jar

  • activation.jar

代碼如下:

使用JavaWeb怎么實(shí)現(xiàn)郵件發(fā)送功能

EmailSendController.java

package com.yang.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yang.util.Email_Send_Util;

@Controller
@RequestMapping("/email")
public class EmailSendController {

 @RequestMapping(value = "/send.do")
 @ResponseBody
 public boolean impotr(HttpServletRequest request) {
 String toMail = request.getParameter("toMail");
 String myMail = request.getParameter("myMail");
 String userPwd = request.getParameter("userPwd");

 System.out.println( toMail+myMail+userPwd);
 boolean bool=Email_Send_Util.send( toMail,myMail, userPwd);
 return bool ;
 }

}

Authentication.java

package com.yang.util;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

public class Authentication extends Authenticator {
 String username = null;
 String password = null;

 public Authentication() {
 }

 public Authentication(String username, String password) {
  this.username = username;
 this.password = password;
 }

 protected PasswordAuthentication getPasswordAuthentication(){
 PasswordAuthentication pa = new PasswordAuthentication(username, password);
 return pa;
 }
}

CreateMimeMessage.java

package com.yang.util;

import java.io.File;
import java.util.Date;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message.RecipientType;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
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;

/**
 * 創(chuàng)建一封復(fù)雜郵件(文本+圖片+附件)
 */
public class CreateMimeMessage {
 public static MimeMessage createMimeMessage(Session session, String myMail, String toMail) throws Exception {
 // 1. 創(chuàng)建郵件對(duì)象
 MimeMessage message = new MimeMessage(session);

 // 2. From: 發(fā)件人
 message.setFrom(new InternetAddress(myMail, "我的測(cè)試郵件_發(fā)件人昵稱", "UTF-8"));

 // 3. To: 收件人(可以增加多個(gè)收件人、抄送、密送)
 message.addRecipient(RecipientType.TO, new InternetAddress(toMail, "我的測(cè)試郵件_收件人昵稱", "UTF-8"));

 // 4. Subject: 郵件主題
 message.setSubject("TEST郵件主題(文本+圖片+附件)", "UTF-8");

 // 抄送人
 Address ccAddress = new InternetAddress("*********@qq.com", "我的測(cè)試郵件_抄送人昵稱", "UTF-8");
 message.addRecipient(Message.RecipientType.CC, ccAddress);

 /*
 * 下面是郵件內(nèi)容的創(chuàng)建:
 */

 // 5. 創(chuàng)建圖片“節(jié)點(diǎn)”
 MimeBodyPart image = new MimeBodyPart();
 File file = new File("D:\\Chat_Software\\sky.JPG");
 DataHandler dh = new DataHandler(new FileDataSource(file)); // 讀取本地文件
 image.setDataHandler(dh); // 將圖片數(shù)據(jù)添加到“節(jié)點(diǎn)”
 // image.setContentID("image_fairy_tail");// 為“節(jié)點(diǎn)”設(shè)置一個(gè)唯一編號(hào)(在文本“節(jié)點(diǎn)”將引用該ID)
 image.setFileName(MimeUtility.encodeText(file.getName()));
 
 // 6. 創(chuàng)建文本“節(jié)點(diǎn)”
 MimeBodyPart text = new MimeBodyPart();
 // text.setContent("這是一張圖片
測(cè)試圖片
", "text/html;charset=UTF-8");  text.setContent("這是一張圖片
測(cè)試圖片", "text/html;charset=UTF-8");  // 7. (文本+圖片)設(shè)置 文本 和 圖片 “節(jié)點(diǎn)”的關(guān)系(將 文本 和 圖片 “節(jié)點(diǎn)”合成一個(gè)混合“節(jié)點(diǎn)”)  MimeMultipart mm_text_image = new MimeMultipart();  mm_text_image.addBodyPart(text);  mm_text_image.addBodyPart(image);  mm_text_image.setSubType("related"); // 關(guān)聯(lián)關(guān)系  // 8. 將 文本+圖片 的混合“節(jié)點(diǎn)”封裝成一個(gè)普通“節(jié)點(diǎn)”  // 最終添加到郵件的 Content 是由多個(gè) BodyPart 組成的 Multipart, 所以我們需要的是 BodyPart,  // 上面的 mm_text_image 并非 BodyPart, 所有要把 mm_text_image 封裝成一個(gè) BodyPart  MimeBodyPart text_image = new MimeBodyPart();  text_image.setContent(mm_text_image);  // 9. 創(chuàng)建附件“節(jié)點(diǎn)”  MimeBodyPart attachment = new MimeBodyPart();  File file2 = new File("E:\\boHaiBank\\Test\\test.xlsx");  DataHandler dh3 = new DataHandler(new FileDataSource(file2)); // 讀取本地文件  attachment.setDataHandler(dh3); // 將附件數(shù)據(jù)添加到“節(jié)點(diǎn)”  attachment.setFileName(MimeUtility.encodeText(dh3.getName())); // 設(shè)置附件的文件名  // 10. 設(shè)置(文本+圖片)和 附件 的關(guān)系(合成一個(gè)大的混合“節(jié)點(diǎn)” / Multipart )  MimeMultipart mm = new MimeMultipart();  mm.addBodyPart(text_image);  mm.addBodyPart(attachment); // 如果有多個(gè)附件,可以創(chuàng)建多個(gè)多次添加  mm.setSubType("mixed"); // 混合關(guān)系  // 11. 設(shè)置整個(gè)郵件的關(guān)系(將最終的混合“節(jié)點(diǎn)”作為郵件的內(nèi)容添加到郵件對(duì)象)  message.setContent(mm);  // 12. 設(shè)置發(fā)件時(shí)間  message.setSentDate(new Date());  // 13. 保存上面的所有設(shè)置  message.saveChanges();  return message;  } }

Email_Send_Util.java

package com.yang.util;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;

public class Email_Send_Util {

 public static boolean send(String toMail,String myMail, String userPwd) {
 // QQ郵箱發(fā)件的服務(wù)器和端口
 Properties props = new Properties();

 props.put("mail.transport.protocol", "SMTP");// 設(shè)置發(fā)送郵件使用的協(xié)議
 props.put("mail.smtp.host", "smtp.qq.com");// 指定郵件發(fā)送服務(wù)器服務(wù)器 "smtp.qq.com"
 props.put("mail.smtp.port", "25");
 props.put("mail.smtp.auth", "true"); // 設(shè)置需要身份驗(yàn)證(不驗(yàn)證會(huì)不通過(guò))

 Authenticator authentication = new Authentication(myMail, "你的郵箱授權(quán)碼");
 Session session = Session.getDefaultInstance(props, authentication);

 MimeMessage message;
 try {
 message = CreateMimeMessage.createMimeMessage(session, myMail, toMail);
 // 獲取發(fā)送方對(duì)象
 Transport transport = session.getTransport("smtp");
 // 連接郵件服務(wù)器,鏈接您的QQ郵箱,用戶名(可以不用帶后綴)、密碼
 transport.connect(myMail, userPwd);
 // 發(fā)送郵件
 // 第一個(gè)參數(shù):郵件的消息體
 // 第二個(gè)參數(shù):郵件所有的接收人/抄送人
 transport.sendMessage(message, message.getAllRecipients());
 transport.close();
 return true;
 } catch (Exception e) {
 e.printStackTrace();
 return false;
 }
 }

}

測(cè)試發(fā)送郵箱的jsp頁(yè)面

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>

<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
 + path + "/";
%>



郵件發(fā)送






 
         郵件發(fā)送    Email         收件人       郵件發(fā)送人       密碼             
     function emailsend() {  $.ajax({  url : "email/send.do",  type : "POST",  data : $("#login_form").serialize(),  beforeSend : function() {   console.log("正在進(jìn)行,請(qǐng)稍候");  },  success : function(e) {   if (e == true) {   alert("發(fā)送成功");   } else {   alert("發(fā)送失敗");   }  }  });  }  

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


網(wǎng)站題目:使用JavaWeb怎么實(shí)現(xiàn)郵件發(fā)送功能
本文地址:http://weahome.cn/article/jeoodi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部