Spring發(fā)送郵件如何內(nèi)嵌圖片增加附件
用到的JAR包:
spring.jar
mail.jar
activation.jar
commons-logging.jar
log4j-1.2.15.jar
內(nèi)嵌圖片,給定一個CID值即可,增加附件,使用MimeMessageHelper的addAttachment即可
現(xiàn)在一般不會做內(nèi)嵌圖片,因為這樣郵件會很大,容易對服務(wù)器造成壓力,一般做法是使用圖片鏈接
另外,如果要做內(nèi)嵌或發(fā)送圖片,你應(yīng)該使用信用較高的郵箱帳戶,否則會報錯:
554 DT:SPM 發(fā)送的郵件內(nèi)容包含了未被許可的信息,或被系統(tǒng)識別為垃圾郵件。請檢查是否有用戶發(fā)送病毒或者垃圾郵件
對于163郵箱服務(wù)器會產(chǎ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); // 默認就是25 sender.setUsername("用戶@163.com"); sender.setPassword("密碼"); sender.setDefaultEncoding("UTF-8"); // 配置文件對象 Properties props = new Properties(); props.put("mail.smtp.auth", "true"); // 是否進行驗證 Session session = Session.getInstance(props); sender.setSession(session); // 為發(fā)送器指定會話 MimeMessage mail = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mail, true); helper.setTo("用戶@163.com"); // 發(fā)送給誰 helper.setSubject("強哥邀請,誰敢不從!"); // 標題 helper.setFrom("用戶@163.com"); // 來自 // 郵件內(nèi)容,第二個參數(shù)指定發(fā)送的是HTML格式 helper.setText("<font color='red'>強哥邀請你訪問我的博客: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ā)送成功"); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
- SpringBoot整合JavaMail通過阿里云企業(yè)郵箱發(fā)送郵件的實現(xiàn)
- SpringBoot基礎(chǔ)教程之集成郵件服務(wù)
- springboot實現(xiàn)發(fā)送郵件(QQ郵箱為例)
- Spring Boot如何開啟并使用郵件服務(wù)
- 基于SpringBoot實現(xiàn)定時發(fā)送郵件過程解析
- Spring Boot Admin郵件警報整合過程解析
- SpringBoot發(fā)送郵件功能 驗證碼5分鐘過期
- Springboot實現(xiàn)郵件發(fā)送功能
- SpringBoot實現(xiàn)發(fā)送郵件功能
- 如何用Spring發(fā)送電子郵件
相關(guān)文章
mybatis,foreach,找不到參數(shù)報錯問題及解決
這篇文章主要介紹了mybatis,foreach,找不到參數(shù)報錯問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03java中實現(xiàn)創(chuàng)建目錄與創(chuàng)建文件的操作實例
用Java創(chuàng)建文件或目錄非常簡單,下面這篇文章主要給大家介紹了關(guān)于java中實現(xiàn)創(chuàng)建目錄與創(chuàng)建文件的操作實例,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-01-01java基礎(chǔ)知識之FileInputStream流的使用
這篇文章主要介紹了java基礎(chǔ)知識之FileInputStream流的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12