国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能的示例

瀏覽:67日期:2023-09-16 17:18:31

問(wèn)題分析

現(xiàn)在我們有這樣一個(gè)需求,就是當(dāng)我們系統(tǒng)出現(xiàn)問(wèn)題或bug的時(shí)候,讓系統(tǒng)通過(guò)郵件發(fā)送日志信息給相關(guān)人員,那么此時(shí),我們就需要實(shí)現(xiàn)一個(gè)讓系統(tǒng)發(fā)送郵件的功能

解決步驟

1.pom jar包導(dǎo)入

<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.1</version></dependency>

2.xml配置

application-mail.xml配置

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation=' http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd '><!--配置發(fā)送郵件的核心對(duì)象--><bean class='org.springframework.mail.javamail.JavaMailSenderImpl'> <!--郵件發(fā)送協(xié)議--> <property name='host' value='smtp.qq.com'/> <!--這里的郵箱是你要發(fā)送郵件的郵箱--> <property name='username' value='xxxxxx@qq.com'/> <!--這里的密碼用的是授權(quán)碼--> <property name='password' value='xxxxxxx'/> <property name='defaultEncoding' value='UTF-8'/> <property name='javaMailProperties'> <props> <!--這里是需要認(rèn)證才能進(jìn)行發(fā)送,防止隨意發(fā)送--> <prop key='mail.smtp.auth'>true</prop> <!-- SMTP加密方式:連接到一個(gè)TLS保護(hù)連接 --> <prop key='mail.smtp.starttls.enable'>true</prop> </props> </property></bean></beans>

3.交給Spring管理

其實(shí)就是將發(fā)送郵件的xml配置文件引入到spring的配置文件中

<!--配置導(dǎo)入配置文件,位置為當(dāng)前目錄平級(jí)的plugs文件夾下面的所有.xml文件--><import resource='classpath:plugins/*.xml'/>

這里需要說(shuō)明一下,classpath后面是跟的我的一個(gè)關(guān)于實(shí)現(xiàn)這些功能專(zhuān)門(mén)的配置文件的文件夾,然后通配文件夾里面所有.xml的配置文件,當(dāng)然,也可以這樣寫(xiě)

<import resource='classpath:plugins/applicationContext-mail.xml'/>

這樣配置也完全沒(méi)有任何問(wèn)題,看個(gè)人喜好哈,只是我喜歡把這些相關(guān)的配置文件同一放在一個(gè)文件夾里面,然后統(tǒng)一一起引入

4.代碼實(shí)現(xiàn)

需要說(shuō)明一下,郵件分為兩種,一種是普通郵件,即文本信息,不含html代碼或附件,另一個(gè)種就是包含html代碼和附件的,這兩種方式相同的是都需要在發(fā)送郵件的類(lèi)里面引入發(fā)送郵件的核心對(duì)象

@Autowiredprivate JavaMailSender javaMailSender;

4.1 普通郵件

需要注意的是這里發(fā)送郵件的地址必須是applicaiton-mail.xml中所配置的username

//獲取郵箱對(duì)象 SimpleMailMessage message = new SimpleMailMessage(); //設(shè)置由哪個(gè)郵箱發(fā)出 這里自己定義 message.setFrom('xxxxxx@qq.com'); //設(shè)置標(biāo)題 message.setSubject('測(cè)試來(lái)了哦'); //設(shè)置發(fā)送內(nèi)容 message.setText('我來(lái)了,你來(lái)了沒(méi)'); //設(shè)置發(fā)送地址 -- 發(fā)給誰(shuí) message.setTo('xxxx@icloud.com'); //發(fā)送郵件 javaMailSender.send(message);

4.1 復(fù)雜郵件

//創(chuàng)建一個(gè)空郵件對(duì)象 MimeMessage mimeMessage = javaMailSender.createMimeMessage(); //創(chuàng)建發(fā)送復(fù)雜郵件的工具類(lèi),并傳入空郵件,設(shè)置是否有附件為true和編碼集 MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, 'UTF-8'); //設(shè)置發(fā)送郵件的郵箱地址,必須和xml里面配置一致 messageHelper.setFrom('xxxxxx@qq.com'); //設(shè)置郵件標(biāo)題 messageHelper.setSubject('復(fù)雜郵件標(biāo)題,就是我'); //設(shè)置郵件里面的普通內(nèi)容 messageHelper.setText('我是復(fù)雜郵件,我又來(lái)了'); //設(shè)置復(fù)雜郵件的html代碼,并設(shè)置是否為html為true messageHelper.setText('<h2>我是復(fù)雜郵件的html代碼,能實(shí)現(xiàn)不?</h2>',true); //添加發(fā)送郵件的附件,是一個(gè)圖片 messageHelper.addAttachment('hah.png',new File('img/1.png')); //添加附件文件 messageHelper.addAttachment('mf文件',new File('s/login.jsp')); //抄送給誰(shuí) 這里的參數(shù)可以是數(shù)組,即多個(gè)接收對(duì)象 messageHelper.setCc('mmmm@qq.com'); //發(fā)送給誰(shuí) 這里的參數(shù)可以是數(shù)組,即多個(gè)接收對(duì)象 messageHelper.setTo('xxxx@icloud.com'); //發(fā)送郵件 javaMailSender.send(mimeMessage);

5.郵箱配置

注意,大家不要以為現(xiàn)在就可以直接發(fā)送了,還需要大家花一毛錢(qián)才行,這個(gè)錢(qián)不是給我哈,也不是給郵箱或?yàn)g覽器,而是給到運(yùn)營(yíng)商,這里就以QQ郵箱為例:

第一步,點(diǎn)擊郵箱首頁(yè)左上角的設(shè)置

基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能的示例

第二步,選中設(shè)置里面的賬戶(hù)設(shè)置

基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能的示例

第三步,往下翻,翻到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)

基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能的示例

第四步,會(huì)讓你發(fā)送短信,這時(shí)候就可以直接發(fā)送短信,這里就到了收錢(qián)的地方,看吧,不是我收哈

基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能的示例

最后,當(dāng)發(fā)送成功之后,就會(huì)收到一個(gè)授權(quán)碼,記住它,然后填入你的application-mail.xml里面的password欄中,然后再運(yùn)行我們的測(cè)試方法即可

到此這篇關(guān)于基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能的示例的文章就介紹到這了,更多相關(guān)Spring Maven項(xiàng)目發(fā)送郵件內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 定南县| 深水埗区| 永济市| 阳春市| 三明市| 东光县| 铅山县| 白玉县| 上蔡县| 山阴县| 金平| 蓝田县| 苍山县| 涿州市| 湖北省| 成安县| 如皋市| 邯郸市| 互助| 尚志市| 南昌县| 江陵县| 诸城市| 财经| 张家川| 榆中县| 兴文县| 日照市| 镶黄旗| 武乡县| 会泽县| 青州市| 黄陵县| 宝兴县| 中卫市| 上高县| 江陵县| 舞钢市| 会同县| 息烽县| 永修县|