用到的JAR包:
spring.jar mail.jar activation.jar commons-logging.jar log4j-1.2.15.jar
内嵌图片,给定一个CID值即可,增加附件,使用MimeMessageHelper的addAttachment即可
现在一般不会做内嵌图片,因为这样邮件会很大,容易对服务器造成压力,一般做法是使用图片链接
另外,如果要做内嵌或发送图片,你应该使用信用较高的邮箱帐户,否则会报错:
554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件
对于163邮箱服务器会产生的其他问题,参见: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{ // 发送器 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("<font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!</font><br><img src='cid:myImg'>",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("邮件发送成功"); } }
关于使用JavaMail发送邮件的其他示例:
JavaMail邮件发送-发送非纯文本邮件http://cuisuqiang.iteye.com/admin/blogs/1585186
JavaMail邮件发送-发送一个文本邮件和一些问题说明http://cuisuqiang.iteye.com/admin/blogs/1585167
JavaMail邮件发送-将邮件保存到本地和发送一封本地邮件http://cuisuqiang.iteye.com/admin/blogs/1586785
JavaMail邮件发送-发送带附件的邮件http://cuisuqiang.iteye.com/admin/blogs/1586023
JavaMail邮件发送-为你的邮件增加背景音乐和背景图片http://cuisuqiang.iteye.com/admin/blogs/1585856
JavaMail邮件发送-能发送附件和带背景音乐的邮件的小系统http://cuisuqiang.iteye.com/admin/blogs/1750866
JavaMail 553 You are not authorized to send mail http://cuisuqiang.iteye.com/admin/blogs/713991
请您到ITEYE网站看 java小强 原创,谢谢!
http://cuisuqiang.iteye.com/ !
自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!
相关推荐
java 发送邮件 spring发送邮件Mail
使用Spring Boot 开发支持多附件邮件发送微服务平台代码
本例为完整的采用spring 发送带 附件的邮件。 下载后需要改动的地方: 1.在mail.properties中将接收者邮箱地址(username),邮箱密码换成真实的。 2.在SpringJavaMailDemo类中把发送者和接收者邮箱地址换成真实地址...
利用spring下的一个类进行邮件发送,内附具体用法
spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码.zip
Spring实现各种邮件的发送 简单配置就可发送邮件
Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件...
Spring 封装的JavaMail,使邮件发送变的相当简单,我通过Spring的邮件发送实现了发纯文本形的内容,HTMl,带附件,带图片等示例代码,并自行测试过.希望对初学者有帮助
NULL 博文链接:https://chaoyi.iteye.com/blog/2171158
数据库:sqlserver CreateHtmlTable中的生成路径和SendService中的上传路径改成自己的
用spring发送邮件,该功能在一般系统监控中经常用到。
spring集成邮件服务,以前做的demo,希望对大有所有帮助!!
spring发送邮件所需jar包
它包括了发送电子邮件的主要接口MailSender,和值对象SimpleMailMessage,它封装了简单邮件的属性如from, to,cc, subject,text。 包里还包含一棵以MailException为根的checked Exception继承树,它们提供了对底层...
spring整合freemarker实现发送邮件, html中内嵌图片,添加附件, 解决乱码问题. spring整合freemarker实现发送邮件, html中内嵌图片,添加附件, 解决乱码问题.
Spring整合Quartz定时发送邮件
基于spring mvc 框架,用freemarker创建邮件模板,包括详细邮件发送功能的spring配置和实现代码
Spring邮件发送服务(java邮件发送),支持多附件、多人发送/抄送/暗送