溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaWeb怎么實現(xiàn)簡單用戶發(fā)送郵件功能

發(fā)布時間:2021-08-16 09:24:02 來源:億速云 閱讀:138 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“JavaWeb怎么實現(xiàn)簡單用戶發(fā)送郵件功能”,在日常操作中,相信很多人在JavaWeb怎么實現(xiàn)簡單用戶發(fā)送郵件功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaWeb怎么實現(xiàn)簡單用戶發(fā)送郵件功能”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

在實現(xiàn)用戶發(fā)送郵件之前,我們先對電子郵箱的基本概念做一些了解。

一、電子郵件

1. 郵件服務(wù)器

1.要在 Internet 上提供電子郵件功能,必須有專門的電子郵件服務(wù)器。
例如:現(xiàn)在 Internet 很多 提供郵件服務(wù)的廠商:sina、sohu、163 等等他們都有自己的郵件服務(wù)器。
2.這些服務(wù)器類似于現(xiàn)實生活中的郵局,它主要負(fù)責(zé)接收用戶投遞過來的郵件,并把郵件投 遞到郵件接收者的電子郵箱中。
3.郵件服務(wù)器,按照提供的服務(wù)類型,可以分為發(fā)送郵件的服務(wù)器我接收郵件的服務(wù)器。

2. 電子郵箱

電子郵箱(E-mail 地址)的獲得需要在郵件服務(wù)器上進(jìn)行申請 ,確切地說,電子郵箱其實 就是用戶在郵件服務(wù)器上申請的一個帳戶。用戶在郵件服務(wù)器上申請了一個帳號后,郵件 服務(wù)器就會為這個帳號分配一定的空間,用戶從而可以使用這個帳號以及空間,發(fā)送電子 郵件和保存別人發(fā)送過來的電子郵件。

3. 郵件協(xié)議

SMTP 協(xié)議-發(fā)郵件協(xié)議

a. 全稱為 Simple Mail Transfer Protoco(l 簡單郵件傳輸協(xié)議),它定義了郵件客戶端軟件與 SMTP 服務(wù)器之間、以及兩臺 SMTP 服務(wù)器之間的通訊規(guī)則。
b. 端口號:25

POP3 協(xié)議-收郵件協(xié)議

a. 全稱為 Post Office Protocol(郵局協(xié)議),它定義了郵件客戶端軟件與 POP3 服務(wù)器的通訊規(guī)則。
b. 端口號:110

二、 發(fā)送郵件

1. 發(fā)送郵件的流程

JavaWeb怎么實現(xiàn)簡單用戶發(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)建一個程序與郵件服務(wù)器對話對象 Session

  Properties props = new Properties();
  //設(shè)置發(fā)送的協(xié)議
  //props.setProperty("mail.transport.protocol", "SMTP");
  
  //設(shè)置發(fā)送郵件的服務(wù)器
  //props.setProperty("mail.host", "smtp.126.com");
  //props.setProperty("mail.smtp.auth", "true");//指定驗證為true

  //創(chuàng)建驗證器
  Authenticator auth = new Authenticator() {
   public PasswordAuthentication getPasswordAuthentication() {
    //設(shè)置發(fā)件人的賬號和密碼
    return new PasswordAuthentication("admin", "admin@store.com");
   }
  };

  Session session = Session.getInstance(props, auth);

  // 2.創(chuàng)建一個Message,它相當(dāng)于是郵件內(nèi)容
  Message message = new MimeMessage(session);

  //設(shè)置發(fā)送者
  message.setFrom(new InternetAddress("admin@store.com"));

  //設(shè)置發(fā)送方式與接收者
  message.setRecipient(RecipientType.TO, new InternetAddress(email)); 

  //設(shè)置郵件主題
  message.setSubject("這是我們的第一份郵件");

  //設(shè)置郵件內(nèi)容
  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");
 }
}

到此,關(guān)于“JavaWeb怎么實現(xiàn)簡單用戶發(fā)送郵件功能”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI