溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring發(fā)送郵件如何內(nèi)嵌圖片增加附件

發(fā)布時(shí)間:2020-10-25 04:41:04 來(lái)源:腳本之家 閱讀:222 作者:cuisuqiang 欄目:開(kāi)發(fā)技術(shù)

用到的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í)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI