当前位置: 首页 > Web前端 > HTML

10.基于SpringMaven项目实现发送邮件功能

时间:2023-04-02 17:15:57 HTML

问题分析现在我们有这样一个需求,就是当我们的系统出现问题或者bug时,让系统通过邮件的方式将日志信息发送给相关人员。这时候我们就需要实现一个系统发送邮件的功能。解决步骤1.pomjar包导入javax.mailmail1.4.12.xml配置application-mail.xml配置<propertyname="password"value="xxxxxxx"/>truetrue3.交给Spring管理其实就是将发送邮件的xml配置文件引入spring配置文件中这里需要说明一下,classpath下面是我实现这些功能的专用配置文件的一个文件夹,然后是通配符里面的所有.xml配置文件文件夹。当然你也可以这样写这样配置是完全没有问题的。这取决于个人喜好。只是我喜欢把这些相关的配置文件放在一个文件夹里,然后一起导入。4.需要说明代码实现。邮件分为两种,一种是普通邮件,即文本信息,没有html代码和附件,另一种是有html代码和附件。两种方法的相同之处在于需要在发送邮件CoreObject@Au类中引入发送邮件towiredprivateJavaMailSenderjavaMailSender;4.1普通邮件需要注意的是这里发送邮件的地址必须是applicaiton-mail.xml中配置的用户名//获取邮箱对象SimpleMailMessagemessage=newSimpleMailMessage();//这里设置发给哪个邮箱Definemessage.setFrom("xxxxxx@qq.com");//设置标题message.setSubject("考试来了");//设置发送内容message.setText("我在,你在吗");//设置发送地址--向谁发送消息.setTo("xxxx@icloud.com");//发送邮件javaMailSender.send(message);4.1复杂邮件//创建一个空的邮件对象MimeMessagemimeMessage=javaMailSender.创建MimeMessage();//创建一个发送复杂邮件的工具类,并传入空邮件,设置是否有附件为true,编码setMimeMessageHelpermessageHelper=newMimeMessageHelper(mimeMessage,true,"UTF-8");//设置发送邮件的邮箱地址必须和xml中的配置一致messageHelper.setFrom("xxxxxx@qq.com");//设置邮件主题messageHelper.setSubject("复杂邮件主题,是我");//在邮件内容中设置普通邮件messageHelper.setText("我是复杂邮件,我又来了");//设置复杂邮件的html代码,设置是否为html为truemessageHelper.setText("

我是复杂邮件的html代码,是否可以实现?

",true);//添加发送邮件的附件,为图片信息geHelper.addAttachment("hah.png",新文件("img/1.png"));//添加附件messageHelper.addAttachment("mffile",newFile("s/login.jsp"));//这里给谁发送参数可以是一个数组,即多个接收对象messageHelper.setCc("mmmm@qq.com");//这里的参数towhom可以是一个数组,即多个接收对象messageHelper。setTo("xxxx@icloud.com");//发送邮件javaMailSender.send(mimeMessage);5.邮箱配置注意,别以为现在就可以直接发了,还得花一毛钱,这钱不是给我的,也不是给邮箱、浏览器的,是给运营商的。这里以QQ邮箱为例:Step1,点击邮箱首页左上角的设置Step2,在设置中选择账户设置Step3,向下滚动,翻到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAVserviceStep4会让你发短信,然后你就可以直接发短信了,这里是收钱的地方,你看,不是我。最后,当发送成功后,你会收到一个授权码,记住它,然后将它填入你的application-mail.xml中的密码栏,然后运行我们的测试方法。