日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實現郵件發送功能

瀏覽:21日期:2023-02-13 08:24:52

Java實現郵件發送的具體代碼,供大家參考,具體內容如下

一、郵件服務器與傳輸協議

要在網絡上實現郵件功能,必須要有專門的郵件服務器。這些郵件服務器類似于現實生活中的郵局,它主要負責接收用戶投遞過來的郵件,并把郵件投遞到郵件接收者的電子郵箱中。

SMTP服務器地址:一般是 smtp.xxx.com,比如163郵箱是smtp.163.com,qq郵箱是smtp.qq.com。

SMTP協議

通常把處理用戶smtp請求(郵件發送請求)的服務器稱之為SMTP服務器(郵件發送服務器)。

POP3協議

通常把處理用戶pop3請求(郵件接收請求)的服務器稱之為POP3服務器(郵件接收服務器)。

二、Java發送郵件

Java實現郵件發送功能

使用到的jar包:

mail.jar activation.jar

QQ郵箱需獲取相應的權限:

QQ郵箱–>郵箱設置–>賬戶–>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務 開啟POP3/SMTP服務,然后獲取16位授權碼(注意不要將授權碼泄露,一個賬戶可以擁有多個授權碼)

Java實現郵件發送功能

Java實現純文本郵件發送

package org.westos.email;import com.sun.mail.util.MailSSLSocketFactory;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.security.GeneralSecurityException;import java.util.Properties;public class SendEamil { public static void main(String[] args) throws MessagingException, GeneralSecurityException {//創建一個配置文件并保存Properties properties = new Properties();properties.setProperty('mail.host','smtp.qq.com');properties.setProperty('mail.transport.protocol','smtp');properties.setProperty('mail.smtp.auth','true');//QQ存在一個特性設置SSL加密MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);properties.put('mail.smtp.ssl.enable', 'true');properties.put('mail.smtp.ssl.socketFactory', sf);//創建一個session對象Session session = Session.getDefaultInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication('619046217@qq.com','16位授權碼'); }});//開啟debug模式session.setDebug(true);//獲取連接對象Transport transport = session.getTransport();//連接服務器transport.connect('smtp.qq.com','619046217@qq.com','16位授權碼');//創建郵件對象MimeMessage mimeMessage = new MimeMessage(session);//郵件發送人mimeMessage.setFrom(new InternetAddress('619046217@qq.com'));//郵件接收人mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress('875203654@qq.com'));//郵件標題mimeMessage.setSubject('Hello Mail');//郵件內容mimeMessage.setContent('我的想法是把代碼放進一個循環里','text/html;charset=UTF-8');//發送郵件transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());//關閉連接transport.close(); }}

Java實現文本圖片附件復雜的郵件發送

MIME(多用途互聯網郵件擴展類型)

MimeBodyPart類

javax.mail.internet.MimeBodyPart類 表示的是一個MIME消息,它和MimeMessage類一樣都是從Part接口繼承過來。

MimeMultipart類

javax.mail.internet.MimeMultipart是抽象類 Multipart的實現子類,它用來組合多個MIME消息。一個MimeMultipart對象可以包含多個代表MIME消息的MimeBodyPart對象

package org.westos.email;import com.sun.mail.util.MailSSLSocketFactory;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.*;import java.security.GeneralSecurityException;import java.util.Properties;public class SendComplexEmail { public static void main(String[] args) throws GeneralSecurityException, MessagingException {Properties prop = new Properties();prop.setProperty('mail.host', 'smtp.qq.com'); 設置QQ郵件服務器prop.setProperty('mail.transport.protocol', 'smtp'); // 郵件發送協議prop.setProperty('mail.smtp.auth', 'true'); // 需要驗證用戶名密碼// QQ郵箱設置SSL加密MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);prop.put('mail.smtp.ssl.enable', 'true');prop.put('mail.smtp.ssl.socketFactory', sf);//1、創建定義整個應用程序所需的環境信息的 Session 對象Session session = Session.getDefaultInstance(prop, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() {//傳入發件人的姓名和授權碼return new PasswordAuthentication('619046217@qq.com','16位授權碼'); }});//2、通過session獲取transport對象Transport transport = session.getTransport();//3、通過transport對象郵箱用戶名和授權碼連接郵箱服務器transport.connect('smtp.qq.com','619046217@qq.com','16位授權碼');//4、創建郵件,傳入session對象MimeMessage mimeMessage = complexEmail(session);//5、發送郵件transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());//6、關閉連接transport.close(); } public static MimeMessage complexEmail(Session session) throws MessagingException {//消息的固定信息MimeMessage mimeMessage = new MimeMessage(session);//發件人mimeMessage.setFrom(new InternetAddress('619046217@qq.com'));//收件人mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress('619046217@qq.com'));//郵件標題mimeMessage.setSubject('帶圖片和附件的郵件');//郵件內容//準備圖片數據MimeBodyPart image = new MimeBodyPart();DataHandler handler = new DataHandler(new FileDataSource('E:IdeaProjectsWebEmailresources測試圖片.png'));image.setDataHandler(handler);image.setContentID('test.png'); //設置圖片id//準備文本MimeBodyPart text = new MimeBodyPart();text.setContent('這是一段文本<img src=’cid:test.png’>','text/html;charset=utf-8');//附件MimeBodyPart appendix = new MimeBodyPart();appendix.setDataHandler(new DataHandler(new FileDataSource('E:IdeaProjectsWebEmailresources測試文件.txt')));appendix.setFileName('test.txt');//拼裝郵件正文MimeMultipart mimeMultipart = new MimeMultipart();mimeMultipart.addBodyPart(image);mimeMultipart.addBodyPart(text);mimeMultipart.setSubType('related');//文本和圖片內嵌成功//將拼裝好的正文內容設置為主體MimeBodyPart contentText = new MimeBodyPart();contentText.setContent(mimeMultipart);//拼接附件MimeMultipart allFile = new MimeMultipart();allFile.addBodyPart(appendix);//附件allFile.addBodyPart(contentText);//正文allFile.setSubType('mixed'); //正文和附件都存在郵件中,所有類型設置為mixed//放到Message消息中mimeMessage.setContent(allFile);mimeMessage.saveChanges();//保存修改return mimeMessage; }}

JavaWeb發送郵件(網站注冊成功發送提示郵件)

1.User

package org.westos.mail;public class User { private String name; private String password; private String mail; public User() { } public User(String name, String password, String mail) {this.name = name;this.password = password;this.mail = mail; } public String getName() {return name; } public void setName(String name) {this.name = name; } public String getPassword() {return password; } public void setPassword(String password) {this.password = password; } public String getMail() {return mail; } public void setMail(String mail) {this.mail = mail; } @Override public String toString() {return 'User{' +'name=’' + name + ’’’ +', password=’' + password + ’’’ +', mail=’' + mail + ’’’ +’}’; }}

2.Servlet

package org.westos.mail;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class Servlet extends javax.servlet.http.HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) {//處理前端請求String username = request.getParameter('username');String password = request.getParameter('password');String email = request.getParameter('email');//將信息封裝進user對象User user = new User(username, password, email);SendMail sendMail = new SendMail(user);sendMail.start(); //開啟線程request.setAttribute('msg','發送成功');try { request.getRequestDispatcher('msg.jsp').forward(request,response);} catch (ServletException e) { e.printStackTrace();} catch (IOException e) { e.printStackTrace();} }}

3.SengMail

package org.westos.mail;import com.sun.mail.util.MailSSLSocketFactory;import javax.mail.*;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.security.GeneralSecurityException;import java.security.PublicKey;import java.util.Properties;public class SendMail extends Thread { //發件人信息 private String From = '619046217@qq.com'; //發件人郵箱 private String recipient = '619046217@qq.com'; //郵箱密碼 private String password = '16位授權碼'; //郵件發送的服務器 private String host = 'smtp.qq.com'; //收件人信息 private User user; public SendMail(User user){this.user = user; } @Override public void run() {try { Properties properties = new Properties(); properties.setProperty('mail.host','smtp.qq.com'); properties.setProperty('mail.transport.protocol','smtp'); properties.setProperty('mail.smtp.auth','true'); //QQ存在一個特性設置SSL加密 MailSSLSocketFactory sf = null; try {sf = new MailSSLSocketFactory(); } catch (GeneralSecurityException e) {e.printStackTrace(); } sf.setTrustAllHosts(true); properties.put('mail.smtp.ssl.enable', 'true'); properties.put('mail.smtp.ssl.socketFactory', sf); //創建一個session對象 Session session = Session.getDefaultInstance(properties, new Authenticator() {@Overrideprotected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(recipient,password);} }); //開啟debug模式 session.setDebug(true); //獲取連接對象 Transport transport = null; try {transport = session.getTransport(); } catch (NoSuchProviderException e) {e.printStackTrace(); } //連接服務器 transport.connect(host,From,password); //創建一個郵件發送對象 MimeMessage mimeMessage = new MimeMessage(session); //郵件發送人 mimeMessage.setFrom(new InternetAddress(recipient)); //郵件接收人 mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(user.getMail())); //郵件標題 mimeMessage.setSubject('網站注冊成功'); //郵件內容 mimeMessage.setContent('網站注冊成功,密碼為'+user.getPassword()+',請妥善保管密碼','text/html;charset=UTF-8'); //發送郵件 transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients()); transport.close();}catch (Exception e){ e.printStackTrace();} }}

4.register.jsp

<%@ page contentType='text/html;charset=UTF-8' language='java' %><html><head> <title>注冊頁面</title></head><body><form action='${pageContext.request.contextPath}/a.do' method='post'> <p>用戶名:<input type='text' name='username' required></p> <p>密碼:<input type='password' name='password' required></p> <p>郵箱:<input type='email' name='email' required></p> <p><input type='submit' value='提交'></p></form></body></html>

5.msg.jsp

<%@ page contentType='text/html;charset=UTF-8' language='java' %><html><head> <title>Title</title></head><body>${msg}</body></html>

6.web.xml

<?xml version='1.0' encoding='UTF-8'?><web-app xmlns='http://xmlns.jcp.org/xml/ns/javaee' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd' version='4.0'> <servlet><servlet-name>Servlet</servlet-name><servlet-class>org.westos.mail.Servlet</servlet-class> </servlet> <servlet-mapping><servlet-name>Servlet</servlet-name><url-pattern>/a.do</url-pattern> </servlet-mapping></web-app>

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

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
午夜国产一区二区| 国产精品调教| 国产aa精品| 国产劲爆久久| 久久av日韩| 国产另类在线| 国产亚洲一卡2卡3卡4卡新区| 日韩精品91亚洲二区在线观看| www.51av欧美视频| 国产精品中文字幕制服诱惑| 欧美一区自拍| 国产精品777777在线播放| 国产精品3区| jizzjizz中国精品麻豆| 久久久水蜜桃av免费网站| 日韩av一级| 99成人在线| 综合精品一区| 7777精品| 久久影院一区二区三区| 国产一区福利| 久久久成人网| 黄色成人91| 天堂精品久久久久| 91精品国产自产精品男人的天堂 | 婷婷成人在线| 狠狠爱www人成狠狠爱综合网| 模特精品在线| 欧美一区久久| 久久久久久婷| 99久久久国产精品美女| 久久国产高清| 欧美啪啪一区| 中文字幕在线官网| 亚洲激情社区| 久草免费在线视频| 欧美/亚洲一区| 免费看欧美美女黄的网站| 91精品视频一区二区| 国产一区二区三区久久| 尹人成人综合网| 日韩一区二区三免费高清在线观看 | 四虎成人av| 久久久久久久久久久妇女| 日韩一区二区免费看| 日韩av资源网| 国产精品原创| 只有精品亚洲| 欧美日一区二区在线观看| 精品久久97| 免费观看久久av| 日本午夜精品一区二区三区电影| 成人亚洲精品| 美女精品网站| 国产一区二区三区四区五区传媒| 亚洲一级影院| 欧美精品国产白浆久久久久| 日韩在线免费| 日韩精品亚洲一区二区三区免费| 97精品一区| 亚洲精品一级二级三级| 国产96在线亚洲| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产欧美日韩影院| 久久国产主播| 日韩成人精品一区二区三区 | 欧美日韩三区| 国产乱码精品| 在线亚洲观看| 成人国产精品久久| 中文字幕成人| 中文字幕系列一区| 69堂免费精品视频在线播放| 在线日韩一区| 欧美黑人巨大videos精品| 香蕉久久夜色精品国产| 美女国产精品久久久| 综合色一区二区| 韩国三级一区| 国产另类在线| 亚洲2区在线| 亚洲深夜影院| 丝袜av一区| 国产精品99久久精品| 国产乱码精品一区二区三区亚洲人| 鲁大师影院一区二区三区| 99精品在线| 成人午夜精品| 精品三区视频| 国产三级精品三级在线观看国产| 亚洲欧美不卡| 日韩大片在线| 久久精品国产亚洲aⅴ| 蜜桃久久精品一区二区| а√天堂8资源在线| 国产欧美精品| 一区二区三区四区日韩| 少妇精品导航| 日韩久久精品| 国产精品久久久久77777丨| 午夜精品一区二区三区国产| 国产一区二区三区四区五区| 三级久久三级久久久| 欧美日韩中文字幕一区二区三区| 欧美精品不卡| 亚洲18在线| 97精品视频在线看| 国产精品久久乐| 激情综合自拍| 精品视频国产| 国产精品xvideos88| 69堂精品视频在线播放| 首页亚洲欧美制服丝腿| 日韩毛片在线| 国产资源在线观看入口av| 91成人精品观看| 日韩在线一二三区| 国产精品伦理久久久久久| 麻豆91小视频| 日本色综合中文字幕| 99国产精品久久久久久久| 国产suv精品一区二区四区视频 | 视频一区欧美精品| 日韩av首页| 国产欧美日韩精品一区二区三区| 91精品丝袜国产高跟在线| 蜜桃久久久久久| 九一国产精品| 九九色在线视频| 欧美1区2区3| 国产亚洲电影| 日韩精品一二三| 亚洲综合福利| 综合国产精品| 美国三级日本三级久久99| 美女尤物久久精品| 亚洲精品123区| 宅男在线一区| 久久久久久久欧美精品| 日本一区二区免费高清| 久久精品国产福利| 91嫩草精品| 日本少妇精品亚洲第一区| 欧美一区影院| 国产美女亚洲精品7777| 日本成人一区二区| 婷婷亚洲成人| 亚洲久久视频| 蜜臀精品久久久久久蜜臀 | av资源亚洲| 日韩视频精品在线观看| 中文在线一区| 免费日韩av片| 老牛影视一区二区三区| 蜜桃视频免费观看一区| 亚洲啊v在线免费视频| 石原莉奈在线亚洲三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日本国产精品| 色婷婷精品视频| 久久久久国产精品一区二区| 久久精品影视| 欧美色图国产精品| 美国三级日本三级久久99| 亚洲精品日韩久久| 天堂va欧美ⅴa亚洲va一国产| 日本高清久久| 亚洲精品1区2区| 国产亚洲字幕| 91亚洲成人| 亚洲网站视频| 国产精品久久久免费| 成人污污视频| 91久久国产| 免费美女久久99| 国产三级精品三级在线观看国产| 精品久久久网| 精品一区在线| 日韩在线电影| 日本一区二区免费高清| 香蕉人人精品| 日韩三级精品| 久久精品国产久精国产| 99成人在线视频| 免费日韩av| 日本一二区不卡| 亚洲欧洲另类| 日韩精品免费视频一区二区三区| 国产精品一区二区三区av麻| 久久久久久久欧美精品| 精品一区二区三区亚洲 | 国产极品模特精品一二| 成人午夜国产| 日本大胆欧美人术艺术动态| 国产乱人伦精品一区| 麻豆久久久久久久| 99国产精品视频免费观看一公开| 久久国产人妖系列| 日韩免费福利视频| 天堂va在线高清一区|