java 发邮件授权码_javamail - androidmail 发送邮件 各种邮件授权方式
當(dāng)你用到郵箱這方面的功能,可以參考該篇文章。已經(jīng)在實(shí)際應(yīng)用使用中。
適應(yīng)qq郵箱(國(guó)內(nèi)大部分郵箱跟qq相似,如163),hotmail(outlook),國(guó)外郵箱gmail等配置,已經(jīng)能通過(guò)代碼發(fā)送成功
上面3種郵箱都需要開(kāi)通smtp服務(wù)
在實(shí)際應(yīng)用中只弄了發(fā)送郵件功能,包含發(fā)送附件、圖片等。
源碼
參考
我這個(gè)源碼是基于 https://github.com/mailhu/emailkit 上修改 因?yàn)闆](méi)有對(duì)hotmail和gmail的支持,增加這兩個(gè)。
而上面這個(gè)框架是基于javamail。Jakarta Mail是Jakarta EE API,用於通過(guò)SMTP,POP3和IMAP發(fā)送和接收電子郵件。Jakarta Mail內(nèi)置於Java EE平臺(tái)中,但還提供了用於Java SE的可選軟件包。javamail官網(wǎng)
開(kāi)通郵箱授權(quán)方式
qq郵箱
步驟1
步驟2
qq郵箱和其他國(guó)內(nèi)郵箱均是通過(guò)授權(quán)碼方式登錄的。
outlook郵箱
步驟1
步驟2
outlook郵箱跟別的郵箱有點(diǎn)不一樣的就是,只要開(kāi)通后,就可以通過(guò)郵箱和郵箱本身密碼操作郵件。也可以選擇開(kāi)通授權(quán)碼進(jìn)行授權(quán)碼方式登錄。
gmail郵箱
步驟1
步驟2
步驟3,開(kāi)啟應(yīng)用訪問(wèn)權(quán)限
步驟4
如果開(kāi)啟了二次驗(yàn)證,那么必須用授權(quán)碼方式登錄
gmail郵箱開(kāi)通smtp服務(wù)后,還需要開(kāi)通應(yīng)用訪問(wèn)權(quán)限才可登錄,當(dāng)然,也可以選擇2次驗(yàn)證密碼+授權(quán)碼方式登錄。
使用郵箱的一些隱患問(wèn)題
每種郵箱都有每天發(fā)送的上限,可以上網(wǎng)查下每種郵箱的上限。并且也有禁止發(fā)送頻率,比如outlook我試過(guò)每過(guò)2秒發(fā)一封,發(fā)了大概30封后直接封了我一天。
發(fā)送郵件在代碼上處理不當(dāng)?shù)脑?huà)會(huì)導(dǎo)致郵箱線(xiàn)程阻塞情況。源碼上面我增加了以下代碼
properties.put("mail.smtp.connectiontimeout", 10000); // 連接時(shí)間限制,單位毫秒。是關(guān)于與郵件服務(wù)器建立連接的時(shí)間長(zhǎng)短的。默認(rèn)是無(wú)限制。
properties.put("mail.smtp.timeout", 10000); // 郵件接收時(shí)間限制,單位毫秒。這個(gè)是有關(guān)郵件接收時(shí)間長(zhǎng)短。默認(rèn)是無(wú)限制。
properties.put("mail.smtp.writetimeout", 8 * 60 * 1000); // 8分鐘,郵件發(fā)送時(shí)間限制,單位毫秒。有關(guān)發(fā)送郵件時(shí)內(nèi)容上傳的時(shí)間長(zhǎng)短。默認(rèn)同樣是無(wú)限制。
考慮到了可能附件上傳較大,所以用8分鐘的時(shí)間限制
總結(jié)
以上是生活随笔為你收集整理的java 发邮件授权码_javamail - androidmail 发送邮件 各种邮件授权方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 学习笔记 | 如何将 MathType
- 下一篇: Drools6.4 Eclipse插件安