Spring發(fā)送郵件如何內(nèi)嵌圖片增加附件
用到的JAR包:
spring.jar
mail.jar
activation.jar
commons-logging.jar
log4j-1.2.15.jar
內(nèi)嵌圖片,給定一個(gè)CID值即可,增加附件,使用MimeMessageHelper的addAttachment即可
現(xiàn)在一般不會(huì)做內(nèi)嵌圖片,因?yàn)檫@樣郵件會(huì)很大,容易對(duì)服務(wù)器造成壓力,一般做法是使用圖片鏈接
另外,如果要做內(nèi)嵌或發(fā)送圖片,你應(yīng)該使用信用較高的郵箱帳戶,否則會(huì)報(bào)錯(cuò):
554 DT:SPM 發(fā)送的郵件內(nèi)容包含了未被許可的信息,或被系統(tǒng)識(shí)別為垃圾郵件。請(qǐng)檢查是否有用戶發(fā)送病毒或者垃圾郵件
對(duì)于163郵箱服務(wù)器會(huì)產(chǎn)生的其他問(wèn)題,參見(jiàn):http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html
以下是示例代碼:
package test;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
/**
* 這里不做異常處理
*/
public class SendMail {
public static void main(String[] args) throws Exception{
// 發(fā)送器
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("smtp.163.com");
sender.setPort(25); // 默認(rèn)就是25
sender.setUsername("用戶@163.com");
sender.setPassword("密碼");
sender.setDefaultEncoding("UTF-8");
// 配置文件對(duì)象
Properties props = new Properties();
props.put("mail.smtp.auth", "true"); // 是否進(jìn)行驗(yàn)證
Session session = Session.getInstance(props);
sender.setSession(session); // 為發(fā)送器指定會(huì)話
MimeMessage mail = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mail, true);
helper.setTo("用戶@163.com"); // 發(fā)送給誰(shuí)
helper.setSubject("強(qiáng)哥邀請(qǐng),誰(shuí)敢不從!"); // 標(biāo)題
helper.setFrom("用戶@163.com"); // 來(lái)自
// 郵件內(nèi)容,第二個(gè)參數(shù)指定發(fā)送的是HTML格式
helper.setText("<font color='red'>強(qiáng)哥邀請(qǐng)你訪問(wèn)我的博客:http://cuisuqiang.iteye.com/!</font><br><img src='cid:myImg'>",true);
// 增加CID內(nèi)容
ClassPathResource img = new ClassPathResource("abc.jpg");
helper.addInline("myImg", img);
// 增加附件
ClassPathResource file = new ClassPathResource("abc.zip");
helper.addAttachment("abc.zip", file);
sender.send(mail); // 發(fā)送
System.out.println("郵件發(fā)送成功");
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot整合JavaMail通過(guò)阿里云企業(yè)郵箱發(fā)送郵件的實(shí)現(xiàn)
- SpringBoot基礎(chǔ)教程之集成郵件服務(wù)
- springboot實(shí)現(xiàn)發(fā)送郵件(QQ郵箱為例)
- Spring Boot如何開(kāi)啟并使用郵件服務(wù)
- 基于SpringBoot實(shí)現(xiàn)定時(shí)發(fā)送郵件過(guò)程解析
- Spring Boot Admin郵件警報(bào)整合過(guò)程解析
- SpringBoot發(fā)送郵件功能 驗(yàn)證碼5分鐘過(guò)期
- Springboot實(shí)現(xiàn)郵件發(fā)送功能
- SpringBoot實(shí)現(xiàn)發(fā)送郵件功能
- 如何用Spring發(fā)送電子郵件
相關(guān)文章
Quarkus篇入門(mén)創(chuàng)建項(xiàng)目搭建debug環(huán)境
這篇文章主要為大家介紹了Quarkus篇入門(mén)創(chuàng)建項(xiàng)目搭建debug環(huán)境,先來(lái)一套hello?world,來(lái)搭建基本的運(yùn)行及調(diào)試環(huán)境吧2022-02-02
Java拼接字符串時(shí)如何去掉最后一個(gè)多余的逗號(hào)
當(dāng)我們遍歷拼接字符串的時(shí)候,最后會(huì)多出一個(gè)我們添加的字符(比如逗號(hào)),下面通過(guò)實(shí)例代碼給大家介紹Java拼接字符串時(shí)去掉最后一個(gè)多余的逗號(hào),感興趣的朋友跟隨小編一起看看吧2024-12-12
spring?mvc?AOP切面方法未執(zhí)行的一種情況的分析和處理過(guò)程
這篇文章主要介紹了spring?mvc?AOP切面方法未執(zhí)行的一種情況的分析和處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
mybatis中foreach報(bào)錯(cuò):_frch_item_0 not found的解決方法
這篇文章主要給大家介紹了mybatis中foreach報(bào)錯(cuò):_frch_item_0 not found的解決方法,文章通過(guò)示例代碼介紹了詳細(xì)的解決方法,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06
springboot項(xiàng)目接入第三方qq郵箱驗(yàn)證登錄的全過(guò)程
互聯(lián)網(wǎng)發(fā)展到現(xiàn)在,相必大家都知道發(fā)送郵件應(yīng)該是網(wǎng)站的必備功能之一,下面這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目接入第三方qq郵箱驗(yàn)證登錄的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
java輕量級(jí)規(guī)則引擎easy-rules使用介紹
這篇文章主要介紹了java輕量級(jí)規(guī)則引擎easy-rules使用介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06

