基于Spring的Maven项目实现发送邮件功能的示例
问题分析
创新互联建站-专业网站定制、快速模板网站建设、高性价比朝天网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式朝天网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖朝天地区。费用合理售后完善,十多年实体公司更值得信赖。
现在我们有这样一个需求,就是当我们系统出现问题或bug的时候,让系统通过邮件发送日志信息给相关人员,那么此时,我们就需要实现一个让系统发送邮件的功能
解决步骤
1.pom jar包导入
javax.mail 1.4.1
2.xml配置
application-mail.xml配置
<?xml version="1.0" encoding="UTF-8"?>true true
3.交给Spring管理
其实就是将发送邮件的xml配置文件引入到spring的配置文件中
这里需要说明一下,classpath后面是跟的我的一个关于实现这些功能专门的配置文件的文件夹,然后通配文件夹里面所有.xml的配置文件,当然,也可以这样写
这样配置也完全没有任何问题,看个人喜好哈,只是我喜欢把这些相关的配置文件同一放在一个文件夹里面,然后统一一起引入
4.代码实现
需要说明一下,邮件分为两种,一种是普通邮件,即文本信息,不含html代码或附件,另一个种就是包含html代码和附件的,这两种方式相同的是都需要在发送邮件的类里面引入发送邮件的核心对象
@Autowired private JavaMailSender javaMailSender;
4.1 普通邮件
需要注意的是这里发送邮件的地址必须是applicaiton-mail.xml中所配置的username
//获取邮箱对象 SimpleMailMessage message = new SimpleMailMessage(); //设置由哪个邮箱发出 这里自己定义 message.setFrom("xxxxxx@qq.com"); //设置标题 message.setSubject("测试来了哦"); //设置发送内容 message.setText("我来了,你来了没"); //设置发送地址 -- 发给谁 message.setTo("xxxx@icloud.com"); //发送邮件 javaMailSender.send(message);
4.1 复杂邮件
//创建一个空邮件对象 MimeMessage mimeMessage = javaMailSender.createMimeMessage(); //创建发送复杂邮件的工具类,并传入空邮件,设置是否有附件为true和编码集 MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); //设置发送邮件的邮箱地址,必须和xml里面配置一致 messageHelper.setFrom("xxxxxx@qq.com"); //设置邮件标题 messageHelper.setSubject("复杂邮件标题,就是我"); //设置邮件里面的普通内容 messageHelper.setText("我是复杂邮件,我又来了"); //设置复杂邮件的html代码,并设置是否为html为true messageHelper.setText("我是复杂邮件的html代码,能实现不?
",true); //添加发送邮件的附件,是一个图片 messageHelper.addAttachment("hah.png",new File("img/1.png")); //添加附件文件 messageHelper.addAttachment("mf文件",new File("s/login.jsp")); //抄送给谁 这里的参数可以是数组,即多个接收对象 messageHelper.setCc("mmmm@qq.com"); //发送给谁 这里的参数可以是数组,即多个接收对象 messageHelper.setTo("xxxx@icloud.com"); //发送邮件 javaMailSender.send(mimeMessage);
5.邮箱配置
注意,大家不要以为现在就可以直接发送了,还需要大家花一毛钱才行,这个钱不是给我哈,也不是给邮箱或浏览器,而是给到运营商,这里就以QQ邮箱为例:
第一步,点击邮箱首页左上角的设置
第二步,选中设置里面的账户设置
第三步,往下翻,翻到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
第四步,会让你发送短信,这时候就可以直接发送短信,这里就到了收钱的地方,看吧,不是我收哈
最后,当发送成功之后,就会收到一个授权码,记住它,然后填入你的application-mail.xml里面的password栏中,然后再运行我们的测试方法即可
到此这篇关于基于Spring的Maven项目实现发送邮件功能的示例的文章就介绍到这了,更多相关Spring Maven项目发送邮件内容请搜索创新互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持创新互联!
文章名称:基于Spring的Maven项目实现发送邮件功能的示例
网站链接:http://azwzsj.com/article/jppjpi.html