日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java web 邮件_Java Web(十二) JavaMail发送邮件

發布時間:2023/12/2 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java web 邮件_Java Web(十二) JavaMail发送邮件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

發送郵件的原理

概敘

郵件服務器:

要在 Internet 上提供電子郵件功能,必須有專門的電子郵件服務器。例如現在 Internet 很多 提供郵件服務的廠商:sina、sohu、163 等等他們都有自己的郵件服務器。

這些服務器類似于現實生活中的郵局,它主要負責接收用戶投遞過來的郵件,并把郵件投 遞到郵件接收者的電子郵箱中。

郵件服務器,按照提供的服務類型,可以分為發送郵件的服務器和接收郵件的服務器。

電子郵箱:

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

郵件協議

SMTP 協議-發郵件協議

全稱為 Simple Mail Transfer Protocol(簡單郵件傳輸協議),它定義了郵件客戶端軟件與 SMTP 服務器之間、以及兩臺 SMTP 服務器之間的通訊規則。

端口號:25。

POP3 協議-收郵件協議

全稱為 Post Office Protocol(郵局協議),它定義了郵件客戶端軟件與 POP3 服務器的通訊規則。

端口號:110。

發送郵件流程

JavaMail

JavaMail是提供給開發者處理電子郵件相關的編程接口。它是Sun發布的用來處理email的API。它可以方便地執行一些常用的郵件傳輸。

使用JavaMail需要導入兩個jar包,mail.jar、activation.jar。

使用qq郵箱發送郵件

使用qq郵箱發送郵件必須聯網,否則無效。

package com.kindleheart.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.Message.RecipientType;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class MailTest {

public static void main(String[] args) throws MessagingException {

//服務器的設置

Properties props = new Properties();

props.setProperty("mail.host", "smtp.qq.com");//設置服務器地址

props.setProperty("mail.smtp.auth", "true");//驗證

//郵箱帳號密碼

Authenticator authenticator = new Authenticator() {

@Override

public PasswordAuthentication getPasswordAuthentication() {

//必須使用授權碼,而不是密碼,去qq郵箱申請

return new PasswordAuthentication("873268974@qq.com","授權碼");

}

};

//1、與服務器建立連接:Session

Session session = Session.getDefaultInstance(props, authenticator);

//2、編寫郵件:Message

Message message = new MimeMessage(session);

//2.1、發件人

message.setFrom(new InternetAddress("873268974@qq.com"));

//2.2、收件人 , to:收件人、cc :抄送、bcc:暗送(密送)。

message.setRecipient(RecipientType.TO, new InternetAddress("kindleheart@qq.com"));

//2.3、主題

message.setSubject("測試");

//2.4、正文

String str = "哈哈,我發送了";

message.setContent(str, "text/html;charset=UTF-8");

//3、發送

Transport.send(message);

}

}

使用本地郵箱服務器和客戶端發送郵件

在沒有聯網的情況下可以使用該方法在自己的電腦上發送和接收郵件,可以用于測試項目。

搭載本地環境

安裝郵件服務器(易郵郵件服務器)

雙擊安裝包,進行配置

設置域名

新建賬戶,新建aaa和bbb兩個賬戶,用于發送和接收郵件

安裝foxmail郵箱

雙擊安裝包,進行配置

我們剛剛在MailServer中創建了aaa,bbb兩個賬戶,現在在foxmail郵箱中登入這兩個賬戶

指定本地的郵件服務器

使用JavaMail在本地發送接受郵件

package com.kindleheart.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.Message.RecipientType;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class MailTest {

public static void main(String[] args) throws MessagingException {

//服務器的設置

Properties props = new Properties();

props.setProperty("mail.host", "localhost");//設置服務器地址

props.setProperty("mail.smtp.auth", "true");//權限驗證

//郵箱帳號密碼

Authenticator authenticator = new Authenticator() {

@Override

public PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication("aaa@store.com","123");

}

};

//1、與服務器建立連接:Session

Session session = Session.getDefaultInstance(props, authenticator);

//2、編寫郵件:Message

Message message = new MimeMessage(session);

//2.1、發件人

message.setFrom(new InternetAddress("aaa@store.com"));

//2.2、收件人 , to:收件人、cc :抄送、bcc:暗送(密送)。

message.setRecipient(RecipientType.TO, new InternetAddress("bbb@store.com"));

//2.3、主題

message.setSubject("測試");

//2.4、正文

String str = "哈哈,我發送了";

message.setContent(str, "text/html;charset=UTF-8");

//3、發送

Transport.send(message);

}

}

在foxmail郵箱中查看是否發送成功

總結

以上是生活随笔為你收集整理的java web 邮件_Java Web(十二) JavaMail发送邮件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。