您好,登錄后才能下訂單哦!
這篇文章主要介紹“基于Javamail如何實現發送郵件”,在日常操作中,相信很多人在基于Javamail如何實現發送郵件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”基于Javamail如何實現發送郵件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一. 使用QQ郵箱作為smtp郵件服務器發送郵件
步驟1.開啟QQ郵箱的POP3/SMTP服務:
開啟后會得到一個16位授權碼, 作為第三方使用郵件服務器的登錄憑證.
注意: 修改郵箱密碼后, 授權碼會失效, 需要重新獲取.
步驟2: 編寫配置文件applicationContext-email.xml(此處使用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" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd" default-lazy-init="false"> <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host"> <!-- qq的SMTP郵箱服務器地址, 若使用163網易則改為:smtp.163.com --> <value>smtp.qq.com</value> </property> <!-- <property name="port"> SMTP郵箱服務器端口(465或587), 建議不要配置, 使用默認就行 <value>建議不要配置!!博主配置反而發布出去!!</value> </property> --> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> <!-- 連接超時時間 --> <prop key="mail.smtp.timeout">25000</prop> </props> </property> <!-- 你的郵箱賬號 --> <property name="username"> <value>xxxxxxx@qq.com</value> </property> <!-- 16位授權碼, 注意不是登錄密碼! --> <property name="password"> <value>qazcrslpoghcbahh</value> </property> <property name="defaultEncoding"> <value>UTF-8</value> </property> </bean> <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage"> <!-- 發件人信息, 需要和上面username值一樣 --> <property name="from" value="xxxxxxx@qq.com" /> </bean> </beans>
步驟3: 編寫測試類:
package emailtest; import java.util.Date; import javax.annotation.Resource; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.util.StringUtils; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext-email.xml") public class EmailTest { @Resource private JavaMailSender javaMailSender; @Resource private SimpleMailMessage simpleMailMessage; @Test public void sendMail() throws MessagingException{ sendMail("xxxxx@163.com","驗證碼:6666","密碼找回"); } public void sendMail(String email, String content, String subject) throws MessagingException { MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper; messageHelper = new MimeMessageHelper(message, true, "UTF-8"); messageHelper.setFrom(StringUtils.trimAllWhitespace(simpleMailMessage.getFrom())); messageHelper.setTo(email); messageHelper.setSubject(subject); messageHelper.setText(content, true); messageHelper.setSentDate(new Date()); // 發送郵件 javaMailSender.send(messageHelper.getMimeMessage()); } }
二. 使用網易郵箱作為smtp郵件服務器發送郵件
1.相似的, 先打開網易郵箱的POP3/SMTP服務, 設置授權碼.
2.修改上述applicationContext.xml中配置信息:
服務器地址改為smtp.163.com
username更改為你的網易郵箱賬號
password則是你在開啟POP3/SMTP服務時設置的授權碼
from的值和username值一樣.
到此,關于“基于Javamail如何實現發送郵件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。