JavaWeb實現簡單用戶發送郵件
在實現用戶發送郵件之前,我們先對電子郵箱的基本概念做一些瞭解。
一、電子郵件
1. 郵件服務器
1.要在 Internet 上提供電子郵件功能,必須有專門的電子郵件服務器。
例如:現在 Internet 很多 提供郵件服務的廠商:sina、sohu、163 等等他們都有自己的郵件服務器。
2.這些服務器類似於現實生活中的郵局,它主要負責接收用戶投遞過來的郵件,並把郵件投 遞到郵件接收者的電子郵箱中。
3.郵件服務器,按照提供的服務類型,可以分為發送郵件的服務器我接收郵件的服務器。
2. 電子郵箱
電子郵箱(E-mail 地址)的獲得需要在郵件服務器上進行申請 ,確切地說,電子郵箱其實 就是用戶在郵件服務器上申請的一個帳戶。用戶在郵件服務器上申請瞭一個帳號後,郵件 服務器就會為這個帳號分配一定的空間,用戶從而可以使用這個帳號以及空間,發送電子 郵件和保存別人發送過來的電子郵件。
3. 郵件協議
SMTP 協議-發郵件協議
a. 全稱為 Simple Mail Transfer Protoco(l 簡單郵件傳輸協議),它定義瞭郵件客戶端軟件與 SMTP 服務器之間、以及兩臺 SMTP 服務器之間的通訊規則。
b. 端口號:25
POP3 協議-收郵件協議
a. 全稱為 Post Office Protocol(郵局協議),它定義瞭郵件客戶端軟件與 POP3 服務器的通訊規則。
b. 端口號:110
二、 發送郵件
1. 發送郵件的流程
2. 代碼實現
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.創建一個程序與郵件服務器對話對象 Session Properties props = new Properties(); //設置發送的協議 //props.setProperty("mail.transport.protocol", "SMTP"); //設置發送郵件的服務器 //props.setProperty("mail.host", "smtp.126.com"); //props.setProperty("mail.smtp.auth", "true");//指定驗證為true //創建驗證器 Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { //設置發件人的賬號和密碼 return new PasswordAuthentication("admin", "[email protected]"); } }; Session session = Session.getInstance(props, auth); // 2.創建一個Message,它相當於是郵件內容 Message message = new MimeMessage(session); //設置發送者 message.setFrom(new InternetAddress("[email protected]")); //設置發送方式與接收者 message.setRecipient(RecipientType.TO, new InternetAddress(email)); //設置郵件主題 message.setSubject("這是我們的第一份郵件"); //設置郵件內容 message.setContent("哈哈,你到我的商城註冊瞭", "text/html;charset=UTF-8"); // 3.創建Transport,用於將郵件發送 Transport.send(message); } public static void main(String[] args) throws AddressException, MessagingException { MailUtils.sendMail("[email protected]", "abcdefg"); } }
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。