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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

spring各种邮件发送

發(fā)布時(shí)間:2025/7/25 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring各种邮件发送 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考地址一

參考地址二

參考地址三

參考地址四

Spring郵件抽象層的主要包為org.springframework.mail。它包括了發(fā)送電子郵件的主要接口MailSender,和值對(duì)象SimpleMailMessage,它封裝了簡(jiǎn)單郵件的屬性如from,?to,cc,subject,text。 包里還包含一棵以MailException為根的checked Exception繼承樹(shù),它們提供了對(duì)底層郵件系統(tǒng)異常的高級(jí)別抽象。 要獲得關(guān)于郵件異常層次的更豐富的信息,請(qǐng)參考Javadocs。

為了使用JavaMail中的一些特色, 比如MIME類(lèi)型的信件, Spring提供了MailSender的一個(gè)子接口, 即org.springframework.mail.javamail.JavaMailSender。Spring還提供了一個(gè)回調(diào)接口org.springframework.mail.javamail.MimeMessagePreparator, 用于準(zhǔn)備JavaMail的MIME信件。

1.發(fā)送簡(jiǎn)單的文本郵件

package??net.xftzr.mail;
import??java.util.Properties;

import??org.springframework.mail.SimpleMailMessage;?
import??org.springframework.mail.javamail.JavaMailSenderImpl;?

/**?
?*?本類(lèi)測(cè)試簡(jiǎn)單郵件?
?*?直接用郵件發(fā)送
?*??@author??Administrator
?*
??*/?
public???class??SingleMailSend?{?
???public???static???void??main(String?args[]){?
????JavaMailSenderImpl?senderImpl??=???new??JavaMailSenderImpl();?
???//?設(shè)定mail?server??
????senderImpl.setHost(?"?smtp.163.com?"?);
?????
?????//?建立郵件消息??
????SimpleMailMessage?mailMessage??=???new??SimpleMailMessage();?
?????//?設(shè)置收件人,寄件人?用數(shù)組發(fā)送多個(gè)郵件
?????//?String[]?array?=?new?String[]????{"sun111@163.com","sun222@sohu.com"};????
?????//?mailMessage.setTo(array);??
????mailMessage.setTo(?"?toEmail@sina.com?"?);?
????mailMessage.setFrom(?"?userName@163.com?"?);?
????mailMessage.setSubject(?"?測(cè)試簡(jiǎn)單文本郵件發(fā)送!?"?);?
????mailMessage.setText(?"?測(cè)試我的簡(jiǎn)單郵件發(fā)送機(jī)制!!?"?);?
????
????senderImpl.setUsername(?"?userName?"?)?;??//??根據(jù)自己的情況,設(shè)置username?
????senderImpl.setPassword(?"?password?"?)?;??//??根據(jù)自己的情況,?設(shè)置password?
????
?Properties?prop??=???new??Properties()?;
?prop.put(?"?mail.smtp.auth?"?,??"?true?"?)?;??//??將這個(gè)參數(shù)設(shè)為true,讓服務(wù)器進(jìn)行認(rèn)證,認(rèn)證用戶名和密碼是否正確?
?prop.put(?"?mail.smtp.timeout?"?,??"?25000?"?)?;?
?senderImpl.setJavaMailProperties(prop);??
?????//?發(fā)送郵件??
????senderImpl.send(mailMessage);?
?????
????System.out.println(?"?郵件發(fā)送成功..?"?);?
?????}?
??}?


2.發(fā)送簡(jiǎn)單的html郵件
?
org.springframework.mail.javamail.MimeMessageHelper是處理JavaMail郵件常用的順手組件之一。它可以讓你擺脫繁復(fù)的javax.mail.internetAPI類(lèi)

package?net.xftzr.mail;


import?java.util.Properties;

import?javax.mail.internet.MimeMessage;?
import?org.springframework.mail.javamail.JavaMailSenderImpl;?
import?org.springframework.mail.javamail.MimeMessageHelper;?
/**?
?*?本類(lèi)測(cè)試html郵件?
?*?@author?sunny?
?*?
?*/?
public?class?HTMLMailDemo?{?
/**?
*?@param?args?
*/?
public?static?void?main(String[]?args)?throws?Exception{?
????JavaMailSenderImpl?senderImpl?=?new?JavaMailSenderImpl();?
????
????//設(shè)定mail?server?
????senderImpl.setHost("smtp.163.com");?
????
????//建立郵件消息,發(fā)送簡(jiǎn)單郵件和html郵件的區(qū)別?
????MimeMessage?mailMessage?=?senderImpl.createMimeMessage();?
????MimeMessageHelper?messageHelper?=?new?MimeMessageHelper(mailMessage);?
?????????????
????//設(shè)置收件人,寄件人?
????messageHelper.setTo("Mailto@sina.com");?
????messageHelper.setFrom("username@163.com");?
????messageHelper.setSubject("測(cè)試HTML郵件!");?
????//true?表示啟動(dòng)HTML格式的郵件?
????messageHelper.setText("<html><head></head><body><h1>hello!!spring?html?Mail</h1></body></html>",true);?
????
????senderImpl.setUsername("username")?;?//?根據(jù)自己的情況,設(shè)置username
????senderImpl.setPassword("password")?;?//?根據(jù)自己的情況,?設(shè)置password
????Properties?prop?=?new?Properties()?;
????prop.put("mail.smtp.auth",?"true")?;?//?將這個(gè)參數(shù)設(shè)為true,讓服務(wù)器進(jìn)行認(rèn)證,認(rèn)證用戶名和密碼是否正確
????prop.put("mail.smtp.timeout",?"25000")?;?
????senderImpl.setJavaMailProperties(prop);?
????//發(fā)送郵件?
????senderImpl.send(mailMessage);?
????
????System.out.println("郵件發(fā)送成功..");?
}?
}?


3.發(fā)送嵌套圖片的郵件


Email允許添加附件,也允許在multipart信件中內(nèi)嵌資源。內(nèi)嵌資源可能是你在信件中希望使用的圖像,或者樣式表,但是又不想把它們作為附件。

package?net.xftzr.mail;

import?java.io.File;?
import?java.util.Properties;

import?javax.mail.internet.MimeMessage;?
import?org.springframework.core.io.FileSystemResource;?
import?org.springframework.mail.javamail.JavaMailSenderImpl;?
import?org.springframework.mail.javamail.MimeMessageHelper;?
/**?
?*?本類(lèi)測(cè)試郵件中嵌套圖片?
?*?@author?sunny????
?*?
?*/?
public?class?AttachedImageMail?{?
public?static?void?main(String[]?args)?throws?Exception{?
????JavaMailSenderImpl?senderImpl?=?new?JavaMailSenderImpl();?
????
????//設(shè)定mail?server?
????senderImpl.setHost("smtp.163.com");?

????//建立郵件消息,發(fā)送簡(jiǎn)單郵件和html郵件的區(qū)別?
????MimeMessage?mailMessage?=?senderImpl.createMimeMessage();?
????//注意這里的boolean,等于真的時(shí)候才能嵌套圖片,在構(gòu)建MimeMessageHelper時(shí)候,所給定的值是true表示啟用,?????????
????//multipart模式?
????MimeMessageHelper?messageHelper?=?new?MimeMessageHelper(mailMessage,true);?
????
????//設(shè)置收件人,寄件人?
????messageHelper.setTo("toMail@sina.com");?
????messageHelper.setFrom("username@163.com");?
????messageHelper.setSubject("測(cè)試郵件中嵌套圖片!!");?
????//true?表示啟動(dòng)HTML格式的郵件?
????messageHelper.setText("<html><head></head><body><h1>hello!!spring?image?html?mail</h1>"?+?
????"<img?src=\"cid:aaa\"/></body></html>",true);?
????????
????FileSystemResource?img?=?new?FileSystemResource(new?File("g:/123.jpg"));?
????
????messageHelper.addInline("aaa",img);?
????
????senderImpl.setUsername("username")?;?//?根據(jù)自己的情況,設(shè)置username
????senderImpl.setPassword("password")?;?//?根據(jù)自己的情況,?設(shè)置password
????Properties?prop?=?new?Properties()?;
????prop.put("mail.smtp.auth",?"true")?;?//?將這個(gè)參數(shù)設(shè)為true,讓服務(wù)器進(jìn)行認(rèn)證,認(rèn)證用戶名和密碼是否正確
????prop.put("mail.smtp.timeout",?"25000")?;?
????senderImpl.setJavaMailProperties(prop);?
????
????//發(fā)送郵件?
????senderImpl.send(mailMessage);?
????
????System.out.println("郵件發(fā)送成功..");?
}?
}?


4.發(fā)送包含附件的郵件

package?net.xftzr.mail;



import?java.io.File;?
import?java.util.Properties;

import?javax.mail.internet.MimeMessage;?
import?org.springframework.core.io.FileSystemResource;?
import?org.springframework.mail.javamail.JavaMailSenderImpl;?
import?org.springframework.mail?.javamail.MimeMessageHelper;?
public?class?AttachedFileMail?{?
/**?
*?本類(lèi)測(cè)試的是關(guān)于郵件中帶有附件的例子?
*?@param?args?
*/?
public?static?void?main(String[]?args)?throws?Exception{?
????JavaMailSenderImpl?senderImpl?=?new?JavaMailSenderImpl();?
????
????//設(shè)定mail?server?
????senderImpl.setHost("smtp.163.com");?
????//建立郵件消息,發(fā)送簡(jiǎn)單郵件和html郵件的區(qū)別?
????MimeMessage?mailMessage?=?senderImpl.createMimeMessage();?
????//注意這里的boolean,等于真的時(shí)候才能嵌套圖片,在構(gòu)建MimeMessageHelper時(shí)候,所給定的值是true表示啟用,?????????
????//multipart模式?為true時(shí)發(fā)送附件?可以設(shè)置html格式
????MimeMessageHelper?messageHelper?=?new?MimeMessageHelper(mailMessage,true,"utf-8");?
????
????//設(shè)置收件人,寄件人?
????messageHelper.setTo("toMail@sina.com");????
????messageHelper.setFrom("username@163.com");?
????messageHelper.setSubject("測(cè)試郵件中上傳附件!!");?
????//true?表示啟動(dòng)HTML格式的郵件?
????messageHelper.setText("<html><head></head><body><h1>你好:附件中有學(xué)習(xí)資料!</h1></body></html>",true);?
????????
????FileSystemResource?file?=?new?FileSystemResource(new?File("g:/test.rar"));?
????//這里的方法調(diào)用和插入圖片是不同的。?
????messageHelper.addAttachment("test.rar",file);?
????
????senderImpl.setUsername("username")?;?//?根據(jù)自己的情況,設(shè)置username
????senderImpl.setPassword("password")?;?//?根據(jù)自己的情況,?設(shè)置password
????Properties?prop?=?new?Properties()?;
????prop.put("mail.smtp.auth",?"true")?;?//?將這個(gè)參數(shù)設(shè)為true,讓服務(wù)器進(jìn)行認(rèn)證,認(rèn)證用戶名和密碼是否正確
????prop.put("mail.smtp.timeout",?"25000")?;?
????senderImpl.setJavaMailProperties(prop);?
????//發(fā)送郵件?
????senderImpl.send(mailMessage);?
????
????System.out.println("郵件發(fā)送成功..");?
}?
}

轉(zhuǎn)載于:https://www.cnblogs.com/zhangwei595806165/p/4623111.html

總結(jié)

以上是生活随笔為你收集整理的spring各种邮件发送的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。