java mail 内嵌图片_Spring发送邮件如何内嵌图片增加附件

本文介绍了如何使用Java Spring框架发送带有内嵌图片和附件的邮件,包括设置SMTP服务器、创建MimeMessage和MimeMessageHelper,以及如何添加内嵌图片和附件。示例代码中展示了如何通过JavaMailSenderImpl发送HTML格式的邮件,并提供了一个完整的邮件发送示例。
摘要由CSDN通过智能技术生成

用到的JAR包:

spring.jar

mail.jar

activation.jar

commons-logging.jar

log4j-1.2.15.jar

内嵌图片,给定一个CID值即可,增加附件,使用MimeMessageHelper的addAttachment即可

现在一般不会做内嵌图片,因为这样邮件会很大,容易对服务器造成压力,一般做法是使用图片链接

另外,如果要做内嵌或发送图片,你应该使用信用较高的邮箱帐户,否则会报错:

554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件

以下是示例代码:

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{

// 发送器

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); // 为发送器指定会话

MimeMessage mail = sender.createMimeMessage();

MimeMessageHelper helper = new MimeMessageHelper(mail, true);

helper.setTo("用户@163.com"); // 发送给谁

helper.setSubject("强哥邀请,谁敢不从!"); // 标题

helper.setFrom("用户@163.com"); // 来自

// 邮件内容,第二个参数指定发送的是HTML格式

helper.setText("强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!",true);

// 增加CID内容

ClassPathResource img = new ClassPathResource("abc.jpg");

helper.addInline("myImg", img);

// 增加附件

ClassPathResource file = new ClassPathResource("abc.zip");

helper.addAttachment("abc.zip", file);

sender.send(mail); // 发送

System.out.println("邮件发送成功");

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值