JavaWeb實現(xiàn)簡單用戶發(fā)送郵件
在實現(xiàn)用戶發(fā)送郵件之前,我們先對電子郵箱的基本概念做一些了解。
一、電子郵件
1. 郵件服務器
1.要在 Internet 上提供電子郵件功能,必須有專門的電子郵件服務器。
例如:現(xiàn)在 Internet 很多 提供郵件服務的廠商:sina、sohu、163 等等他們都有自己的郵件服務器。
2.這些服務器類似于現(xiàn)實生活中的郵局,它主要負責接收用戶投遞過來的郵件,并把郵件投 遞到郵件接收者的電子郵箱中。
3.郵件服務器,按照提供的服務類型,可以分為發(fā)送郵件的服務器我接收郵件的服務器。
2. 電子郵箱
電子郵箱(E-mail 地址)的獲得需要在郵件服務器上進行申請 ,確切地說,電子郵箱其實 就是用戶在郵件服務器上申請的一個帳戶。用戶在郵件服務器上申請了一個帳號后,郵件 服務器就會為這個帳號分配一定的空間,用戶從而可以使用這個帳號以及空間,發(fā)送電子 郵件和保存別人發(fā)送過來的電子郵件。
3. 郵件協(xié)議
SMTP 協(xié)議-發(fā)郵件協(xié)議
a. 全稱為 Simple Mail Transfer Protoco(l 簡單郵件傳輸協(xié)議),它定義了郵件客戶端軟件與 SMTP 服務器之間、以及兩臺 SMTP 服務器之間的通訊規(guī)則。
b. 端口號:25
POP3 協(xié)議-收郵件協(xié)議
a. 全稱為 Post Office Protocol(郵局協(xié)議),它定義了郵件客戶端軟件與 POP3 服務器的通訊規(guī)則。
b. 端口號:110
二、 發(fā)送郵件
1. 發(fā)送郵件的流程
2. 代碼實現(xiàn)
package com.store.utils; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessage.RecipientType; public class MailUtils { public static void sendMail(String email, String emailMsg) throws AddressException, MessagingException { // 1.創(chuàng)建一個程序與郵件服務器對話對象 Session Properties props = new Properties(); //設置發(fā)送的協(xié)議 //props.setProperty("mail.transport.protocol", "SMTP"); //設置發(fā)送郵件的服務器 //props.setProperty("mail.host", "smtp.126.com"); //props.setProperty("mail.smtp.auth", "true");//指定驗證為true //創(chuàng)建驗證器 Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { //設置發(fā)件人的賬號和密碼 return new PasswordAuthentication("admin", "admin@store.com"); } }; Session session = Session.getInstance(props, auth); // 2.創(chuàng)建一個Message,它相當于是郵件內容 Message message = new MimeMessage(session); //設置發(fā)送者 message.setFrom(new InternetAddress("admin@store.com")); //設置發(fā)送方式與接收者 message.setRecipient(RecipientType.TO, new InternetAddress(email)); //設置郵件主題 message.setSubject("這是我們的第一份郵件"); //設置郵件內容 message.setContent("哈哈,你到我的商城注冊了", "text/html;charset=UTF-8"); // 3.創(chuàng)建Transport,用于將郵件發(fā)送 Transport.send(message); } public static void main(String[] args) throws AddressException, MessagingException { MailUtils.sendMail("aaa@store.com", "abcdefg"); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringBoot接口參數(shù)的默認值與必要性最佳實踐記錄
這篇文章主要介紹了SpringBoot接口參數(shù)的默認值與必要性,通過合理設置接口參數(shù)的默認值和必要性,我們可以創(chuàng)建出既健壯又靈活的?RESTful?API,需要的朋友可以參考下2024-08-08JAVA中使用openoffice將Excel轉PDF再轉圖片功能的實現(xiàn)代碼
這篇文章主要介紹了JAVA中使用openoffice將Excel轉PDF再轉圖片功能實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12JdbcTemplate方法介紹與增刪改查操作實現(xiàn)
這篇文章主要給大家介紹了關于JdbcTemplate方法與增刪改查操作實現(xiàn)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用JdbcTemplate具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-11-11