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

歡迎訪問 生活随笔!

生活随笔

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

java

java outlook 发送邮件_基于java使用JavaMail发送邮件

發布時間:2023/12/19 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java outlook 发送邮件_基于java使用JavaMail发送邮件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、郵件的相關概念

郵件協議。主要包括:

SMTP協議:Simple Mail Transfer Protocol,即簡單郵件傳輸協議,用于發送電子郵件

POP3協議:Post Office Protocol 3,即郵局協議的第三個版本,用于接收郵件

IMAP協議:Internet Message Access Protocol,即互聯網消息訪問協議,是POP3的替代協議

--------------------------------------------------------------------------------

二、搭建James郵件服務器

James是Apache的一個開源項目,純Java實現

搭建James服務器

① 下載apache-james-2.3.2.zip解壓

② 運行bin目錄下的run.bat即可啟動服務器[Telnet? localhost 4555]

③ 通過apps\james\SAR-INF\config.xml配置服務器

注:先到bin下run一道。 放如非中文目錄, 得再控制面板開啟Telnet客戶端

--------------------------------------------------------------------------------

三、安裝OutLook[郵件客戶端]

產品秘鑰:PQDV9-GPDV4-CRM4D-PHDTH-4M2MT

創建用戶賬號

一、使用telnet連接James的Remote Administration Tool

二、以管理員身份登錄

三、使用adduser命令添加用戶

--------------------------------------------------------------------------------

四、配置outlook郵件客戶端

為了方便查看,可以配置Microsoft Outlook郵件客戶端,保證James郵件服務器是啟動狀態,啟動Microsoft Outlook.

選擇“工具”->“選項”,打開“選項”面板。選擇“郵件設置”并點擊“電子郵件賬戶”,打開“賬號設置”面板。在“電子郵件”選項卡下新建郵件賬戶

--------------------------------------------------------------------------------

五、案例[搭建James郵件服務器]

需求說明:

在本機搭建James郵件服務器,自定義服務器的名稱。

創建兩個測試用戶。

在Microsoft Outlook中配置其中一個測試用戶為Outlook郵件賬戶

--------------------------------------------------------------------------------

六、使用JavaMail發送電子郵件(案例)

需求:

使用JavaMail技術,實現從A賬戶給B賬戶發送一封電子郵件,標題為“會議通知”,郵件內容為“XX你好!請于明天下午16:00 準時到B01會議室召開技術討論會。”通過Outlook 客戶端查看郵件程序發送的郵件是否發送成功

關鍵代碼:

創建一個類EmailAuthenticator并繼承自Authenticator,并植入用戶名和密碼

創建Mail類設置郵件信息:

public class Mail {

private String mailServer,from,to,mailSubject,mailContent;

private String username,password;

public Mail(){

//設置郵件信息

//進行認證登錄的用戶名

username="hq@mail.com";

//認證密碼

password="hq";

//認證的郵箱對應的郵件服務器

mailServer="192.168.17.176";

//發件人信息

from="wj";

//收件人信息

to="wj@mail.com";

//郵件標題

mailSubject="我們都是好孩子333";

//郵件內容

mailContent="這是一封測試郵件!如有雷同,純屬不可能";

}

//設置郵件服務器

@SuppressWarnings("static-access")

public void send(){

Properties prop=System.getProperties();

//指定郵件server

prop.put("mail.smtp.host", mailServer);

//是否開啟認證

prop.put("mail.smtp.auth", "true");

//smtp協議的

prop.put("mail.smtp.port", "25");

//產生Session服務

EmailAuthenticator mailauth=new EmailAuthenticator(username, password);

Session mailSession=Session.getInstance(prop,(Authenticator)mailauth);

try {

//封裝Message對象

Message message=new MimeMessage(mailSession);

message.setFrom(new InternetAddress(from)); //發件人

message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));//收件人

message.setSubject(mailSubject);

//設置內容(設置字符集處理亂碼問題)

message.setContent(mailContent,"text/html;charset=gbk");

message.setSentDate(new Date());

//創建Transport實例,發送郵件

Transport tran=mailSession.getTransport("smtp");

tran.send(message,message.getAllRecipients());

tran.close();

} catch (Exception e) {

e.printStackTrace();

}

}

測試類:

public class MyTest {

public static void main(String[] args) {

Mail mail=new Mail();

mail.send();

System.out.println("success!");

}

}

--------------------------------------------------------------------------------

七、發送帶附件的Mail

public class MailWithAttachment {

private JavaMailSender mailSender; //必須使用 JavaMailSender

public void setMailSender(JavaMailSender mailSender) {

this.mailSender = mailSender;

}

public void send() throws MessagingException,IOException{

MimeMessage mimeMessage = mailSender.createMimeMessage();

MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");

helper.setFrom("hq@mail.com");

helper.setTo("wj@mail.com");

helper.setSubject("哈哈哈");

helper.setText("每日一笑,開開心心!!!");

//添加附件1

ClassPathResource file1 = new ClassPathResource(

"/cn/bdqn/attachfiles/test.doc");

helper.addAttachment(file1.getFilename(), file1.getFile());

//添加附件2:附件的文件名為中文時,需要對文件名進行編碼轉換,解決亂碼問題

ClassPathResource file2 = new ClassPathResource(

"/cn/bdqn/attachfiles/附件測試文件.doc");

helper.addAttachment(MimeUtility.encodeWord(file2.getFilename()),file2.getFile());

mailSender.send(mimeMessage);

}

}

測試類:

public class MailTest {

public static void main(String[] args){

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

/*測試帶附件的郵件*/

try{

MailWithAttachment mailWithAttach = (MailWithAttachment)context.getBean("mailWithAttachment");

mailWithAttach.send();

}catch(Exception e){

System.out.print(e.toString());

}

}

}

applicationContext.xml:大配置

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

總結

以上是生活随笔為你收集整理的java outlook 发送邮件_基于java使用JavaMail发送邮件的全部內容,希望文章能夠幫你解決所遇到的問題。

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