欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java給釘釘郵箱發(fā)送郵件功能實(shí)現(xiàn)

 更新時(shí)間:2025年02月27日 09:21:43   作者:o0麥嘎  
文章介紹了如何使用Java給釘釘郵箱發(fā)送郵件,包括開(kāi)通POP和IMAP、引入pom、邏輯處理、直接添加前端傳來(lái)的MultipartFile、添加多個(gè)附件以及給多個(gè)郵箱發(fā)送郵件等步驟,感興趣的朋友一起看看吧

1.開(kāi)通POP和IMAP

2.引入pom

<dependency>
	<groupId>javax.mail</groupId>
	<artifactId>mail</artifactId>
	<version>1.4.7</version>
</dependency>

3.邏輯

String host = "smtp.qiye.aliyun.com";
String port = "465";
String username = "xxxxxx@dingtalk.com"; // 釘釘發(fā)送者郵箱
String password = "xxxxxx"; // 發(fā)送者郵箱賬號(hào)
String toEmail = "xxxxx@dingtalk.com"; // 釘釘接收者郵箱
String subject = "郵件標(biāo)題"
try {
	Properties props = new Properties();
	props.setProperty("mail.smtp.host", host);
	props.setProperty("mail.smtp.port", port);
	props.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
 	props.setProperty("mail.smtp.socketFactory.fallback", "false");
	// 啟用調(diào)試
	//props.setProperty("mail.debug", "true");
	props.setProperty("mail.smtp.socketFactory.port", port);
	props.setProperty("mail.smtp.auth", "true");
	// 建立郵件會(huì)話(huà)
	Session session = Session.getDefaultInstance(props, new Authenticator() {
		@Override
		protected PasswordAuthentication getPasswordAuthentication() {
			return new PasswordAuthentication(username, password);
		}
	});
	// 建立郵件對(duì)象
	MimeMessage message = new MimeMessage(session);
	message.setFrom(new InternetAddress(username));
	message.setRecipients(Message.RecipientType.TO, toEmail);
	message.setSubject(subject);
	MimeMultipart multipart = new MimeMultipart();
	BodyPart contentPart = new MimeBodyPart();
	// 郵件正文
	contentPart.setContent(content, "text/html;charset=utf-8");
	 multipart.addBodyPart(contentPart);
	// 附件
	MimeBodyPart attachmentBodyPart = new MimeBodyPart();
	// 讀取本地文件,如果是前端傳過(guò)來(lái)的MultipartFile文件,需要將MultipartFile轉(zhuǎn)為file,再通過(guò)下面的方式:
	// File file = MultipartFileToFile(multipartFile);
	// DataSource source = new FileDataSource(file);
	// attachmentBodyPart.setDataHandler(new DataHandler(source));
	DataHandler dataHandler = new DataHandler(new FileDataSource("E:\\soft\\test.doc");
	attachmentBodyPart.setDataHandler(dataHandler);
	attachmentBodyPart.setFileName("test.doc");
	multipart.addBodyPart(attachmentBodyPart);
	// 設(shè)置郵件整體內(nèi)容
	message.setContent(multipart);
	Transport.send(message);
} catch (Exception e) {
	e.printStackTrace();
}

4.直接添加前端傳過(guò)來(lái)的MultipartFile

.....
MimeMultipart multipart = new MimeMultipart();
BodyPart contentPart = new MimeBodyPart();
// 郵件正文
contentPart.setContent(content, "text/html;charset=utf-8");
multipart.addBodyPart(contentPart);
// 附件--這里改下
MimeBodyPart attachmentBodyPart = new MimeBodyPart();
File file = MultipartFileToFile(multipartFile);
DataSource source = new FileDataSource(file);
attachmentBodyPart.setDataHandler(new DataHandler(source));
attachmentBodyPart.setFileName(file.getName());
multipart.addBodyPart(attachmentBodyPart);
// 設(shè)置郵件整體內(nèi)容
message.setContent(multipart);
Transport.send(message);
.....

5.添加多個(gè)附件

MimeMultipart multipart = new MimeMultipart();
BodyPart contentPart = new MimeBodyPart();
// 郵件正文
contentPart.setContent(content, "text/html;charset=utf-8");
multipart.addBodyPart(contentPart);
// 附件--這里改下
for (MultipartFile multipartFile : files){
	MimeBodyPart attachmentBodyPart = new MimeBodyPart();
	File file = MultipartFileToFile(multipartFile);
	DataSource source = new FileDataSource(file);
	//添加附件的內(nèi)容
	attachmentBodyPart.setDataHandler(new DataHandler(source));
	//添加附件的標(biāo)題
	attachmentBodyPart.setFileName(file.getName());
	multipart.addBodyPart(filePart);
}
// 設(shè)置郵件整體內(nèi)容
message.setContent(multipart);
Transport.send(message);

6.給多個(gè)郵箱發(fā)郵件

String tos = "a1@dingtalk.com,a2@dingtalk.com,a3@dingtalk.com";
String[] toList = to.split(",");
Address[] addresses = new Address[toList.length];
for (int i = 0; i < toList.length; i++) {
	addresses[i] = new InternetAddress(toList[i]);
}
message.setRecipients(Message.RecipientType.TO, addresses);

到此這篇關(guān)于java給釘釘郵箱發(fā)送郵件的文章就介紹到這了,更多相關(guān)java郵箱發(fā)送郵件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • intellij idea旗艦版解決學(xué)生無(wú)法注冊(cè)問(wèn)題詳解

    intellij idea旗艦版解決學(xué)生無(wú)法注冊(cè)問(wèn)題詳解

    這篇文章主要介紹了intellij idea旗艦版解決學(xué)生無(wú)法注冊(cè)問(wèn)題詳解,文中通過(guò)圖文示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java實(shí)現(xiàn)SSH模式加密

    Java實(shí)現(xiàn)SSH模式加密

    這篇文章主要介紹了Java實(shí)現(xiàn)SSH模式加密的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Mybatis返回類(lèi)型為Map時(shí)遇到的類(lèi)型轉(zhuǎn)化的異常問(wèn)題

    Mybatis返回類(lèi)型為Map時(shí)遇到的類(lèi)型轉(zhuǎn)化的異常問(wèn)題

    這篇文章主要介紹了Mybatis返回類(lèi)型為Map時(shí)遇到的類(lèi)型轉(zhuǎn)化的異常問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 如何有效管理JVM中的垃圾?

    如何有效管理JVM中的垃圾?

    今天給大家?guī)?lái)的是關(guān)于Java虛擬機(jī)的相關(guān)知識(shí),文章圍繞著如何有效管理JVM中的垃圾展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java簡(jiǎn)單數(shù)據(jù)加密方法DES實(shí)現(xiàn)過(guò)程解析

    Java簡(jiǎn)單數(shù)據(jù)加密方法DES實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Java簡(jiǎn)單數(shù)據(jù)加密方法DES實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Springboot如何使用Map將錯(cuò)誤提示輸出到頁(yè)面

    Springboot如何使用Map將錯(cuò)誤提示輸出到頁(yè)面

    這篇文章主要介紹了Springboot如何使用Map將錯(cuò)誤提示輸出到頁(yè)面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java8時(shí)間api之LocalDate/LocalDateTime的用法詳解

    Java8時(shí)間api之LocalDate/LocalDateTime的用法詳解

    在項(xiàng)目中,時(shí)間的使用必不可少,而java8之前的時(shí)間api?Date和Calander等在使用上存在著很多問(wèn)題,于是,jdk1.8引進(jìn)了新的時(shí)間api-LocalDateTime,本文就來(lái)講講它的具體使用吧
    2023-05-05
  • Java之Spring Bean 作用域和生命周期

    Java之Spring Bean 作用域和生命周期

    這篇文章主要介紹了Java Bean的作用域和生命周期,Bean 的作用域是指 Bean 在 Spring 整個(gè)框架中的某種行為模式,所謂的?命周期指的是?個(gè)對(duì)象從誕?到銷(xiāo)毀的整個(gè)?命過(guò)程,我們把這個(gè)過(guò)程就叫做?個(gè)對(duì)象的?命周期,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • java多態(tài)性中的Overload和Override區(qū)別詳解

    java多態(tài)性中的Overload和Override區(qū)別詳解

    這篇文章主要介紹了java多態(tài)性中的Overload和Override區(qū)別詳解,重寫(xiě)(Overriding)是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),而重載(Overloading)是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn),需要的朋友可以參考下
    2023-07-07
  • spring?jpa?審計(jì)功能自定義填充字段方式

    spring?jpa?審計(jì)功能自定義填充字段方式

    這篇文章主要介紹了spring?jpa審計(jì)功能自定義填充字段方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評(píng)論