java發(fā)送郵件驗證碼

首先叹放,現(xiàn)在spring boot簡直就是 一個大雜燴。如果需要什么功能或者插件建議大家先在spring家族找找。指不定人家已經(jīng)給你集成了甘穿。

java發(fā)送郵件,一般作為注冊驗證或者系統(tǒng)通知什么的梢杭。

在此以spring boot為例(畢竟近兩年boot已經(jīng)成為了java代碼的基石了温兼,不用的應該很少吧)

1,添加依賴

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-mail</artifactId>

</dependency>

2武契,寫一個工具類

在這里有好多種做法募判,我的是最簡單的都是直接量,如果業(yè)務(wù)需求或者特別需要也可以用配置文件的方式

public class MailUtil {

protected static final Logger LOG = LoggerFactory.getLogger(MailUtil.class);

private final static String NAME = "你的發(fā)送郵件的郵箱";

private final static String PASSWORD = "郵箱的密碼";

//這里方法的返回值是我自己封裝的對象咒唆。因為習慣性這么返回給前端了届垫。具體你們用要結(jié)合實際

//參數(shù)是你要發(fā)送給的郵箱,一般都是前臺傳的全释。

public ResultBean sendEmail(String email) {

// 創(chuàng)建連接對象 連接到郵件服務(wù)器

Properties properties = new Properties();

// 設(shè)置發(fā)送郵件的基本參數(shù)

// 發(fā)送郵件服務(wù)器(注意装处,此處根據(jù)你的服務(wù)器來決定,我這里使用的是QQ服務(wù)器浸船,所以是smtp.qq.com)

properties.put("mail.smtp.host", "smtp.qq.com");

// 發(fā)送端口(根據(jù)實際情況填寫妄迁,一般均為25)

properties.put("mail.smtp.port", "25");

properties.put("mail.smtp.auth", "true");

// 設(shè)置發(fā)送郵件的賬號和密碼

Session session = Session.getInstance(properties, new Authenticator() {

@Override

protected PasswordAuthentication getPasswordAuthentication() {

// 兩個參數(shù)分別是發(fā)送郵件的賬戶和密碼(注意,如果配置后不生效李命,請檢測是否開啟了 POP3/SMTP 服務(wù)判族,QQ郵箱對應設(shè)置位置在:

// [設(shè)置-賬戶-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)])

return new PasswordAuthentication(NAME, PASSWORD);

}

});

// 創(chuàng)建郵件對象

Message message = new MimeMessage(session);

try {

// 設(shè)置發(fā)件人

message.setFrom(new InternetAddress(NAME));

// 設(shè)置收件人

message.setRecipient(Message.RecipientType.TO,new InternetAddress(email));

// 設(shè)置主題,在這里要根據(jù)業(yè)務(wù)需求项戴,千萬別直接復制粘貼就用了形帮。

message.setSubject("帳號注冊驗證");

// 設(shè)置郵件正文 ,因為要生成驗證碼,所以在此插入正文中

//我這里是采用六位數(shù)隨機數(shù)字周叮。五位后面*10000辩撑,四位*1000。仿耽。合冀。

int volid = (int)((Math.random()*9+1)*100000);

//因為為了簡單,所以內(nèi)容做的比較簡單项贺,直接就是字符串了君躺。如果內(nèi)容比較多還是建議讀取配置文件吧

String content = "系統(tǒng)收到此郵箱帳號在城市家園網(wǎng)的注冊申請,為確認賬戶的真實性,須完成賬戶驗證峭判。本次驗證碼為 <b>"+volid+"</b>,有效時間30分鐘。如果不是本賬戶持有人操作,請忽略!";

message.setContent(content, "text/html;charset=UTF-8");

// 發(fā)送郵件

Transport.send(message);

return Tools.result(200, "郵件發(fā)送成功", volid, true);

} catch (Exception e) {

LOG.info("Error Message: " + e.getMessage());

return Tools.result(500, "郵件發(fā)送失敗", null, false);

}

}

到此工具類完成棕叫,然后說幾點需要注意的:

1林螃,我這邊沒有做30分鐘超時設(shè)置,因為我們這次demo是驗證碼返回前端俺泣,前端直接和用戶輸入的做比對疗认。所以超時也是直接前端控制了。嗯嗯嗯~~你可以理解為我就是懶伏钠。

2横漏,在測試的時候如果直接本地用localhost:端口+路徑+參數(shù)訪問,應該會有問題熟掂。因為email參數(shù)可能會在識別上出問題缎浇。反正我本人這么訪問的時候一直是發(fā)送錯誤,不是說address錯誤(加上‘’傳過來的參數(shù)上也有赴肚,所以郵箱錯誤)就是說域名錯誤(因為郵箱地址是.com結(jié)尾)素跺。但是代碼里調(diào)用方法或者postman都沒問題的。前后端交互更沒問題了尊蚁。

然后就沒啥需要注意的了。雖然這個使用方法比較簡單侣夷,但是畢竟是個小技巧横朋。對于沒做過的人來說完全可以cv然后小改動一下直接使用~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市百拓,隨后出現(xiàn)的幾起案子琴锭,更是在濱河造成了極大的恐慌,老刑警劉巖衙传,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件决帖,死亡現(xiàn)場離奇詭異,居然都是意外死亡蓖捶,警方通過查閱死者的電腦和手機地回,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俊鱼,“玉大人刻像,你說我怎么就攤上這事〔⑾校” “怎么了细睡?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長帝火。 經(jīng)常有香客問我溜徙,道長湃缎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任蠢壹,我火速辦了婚禮嗓违,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘知残。我一直安慰自己靠瞎,他們只是感情好,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布求妹。 她就那樣靜靜地躺著乏盐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪制恍。 梳的紋絲不亂的頭發(fā)上父能,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音净神,去河邊找鬼何吝。 笑死,一個胖子當著我的面吹牛鹃唯,可吹牛的內(nèi)容都是我干的爱榕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼坡慌,長吁一口氣:“原來是場噩夢啊……” “哼黔酥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起洪橘,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤跪者,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后熄求,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渣玲,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年弟晚,在試婚紗的時候發(fā)現(xiàn)自己被綠了忘衍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡卿城,死狀恐怖淑履,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情藻雪,我是刑警寧澤秘噪,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站勉耀,受9級特大地震影響指煎,放射性物質(zhì)發(fā)生泄漏蹋偏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一至壤、第九天 我趴在偏房一處隱蔽的房頂上張望威始。 院中可真熱鬧,春花似錦像街、人聲如沸黎棠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脓斩。三九已至,卻和暖如春畴栖,著一層夾襖步出監(jiān)牢的瞬間随静,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工吗讶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留燎猛,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓照皆,卻偏偏與公主長得像重绷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子膜毁,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容