COCO研究院

 找回密碼
 註冊
搜索
查看: 2642|回復: 2

java利用gmail SMTP發email

[複製鏈接]
發表於 15-2-11 02:10 | 顯示全部樓層 |閱讀模式
本帖最後由 ufai0005 於 15-2-11 02:23 編輯

1.以下網址下載JavaMail API
java.net/projects/javamail/pages/Home
找到javax.mail.jar並下載放到你的project下的lib資料夾裡(並不一定要放這位置,只要放到你記得的位置就好)
Noname.jpg
2.以下網址下載JavaMail Source Code
java.net/projects/javamail/downloads/directory/source
找到跟你下載JavaMail一樣版本的 source code
會下載一個 zip檔.不需解壓縮.一樣放到你的project下的lib資料夾裡(並不一定要放這位置,只要放到你記得的位置就好)
Noname.jpg
3.eclipse裡加入classpath
eclipse工具列裡Project->Properties->Java Build Path->Libraries->AddExternal JARs
點選你第1步驟下載的javax.mail.jar
Noname.jpg
4.加入JavaMail source
點選剛加入的 jar裡的source attachment->Edit->External File
Noname.jpg
5.去下載sample並執行只要google "java 發mail"有一堆sample
例如
pclevin.blogspot.tw/2014/11/java-mail-gmail-smtp-server.html
記得裡面要修改一下你的帳號及密碼..當然首先你一定要有一組gmail的帳號及密碼

ps.
當你使用gmail時有設定"2-Step Verification"
則你還要向 google申請一組App Passwords
如何確定你有沒有設定"2-Step Verification" ?
你可以去google的帳戶設定裡查看.
或是等到跟我一樣..程式跑一跑出現下列錯誤
534-5.7.9 Application-specific password required.然後照著他回傳訊息的網址去查詢..就會知道你需要申請

簡單來說,google不想讓你登入google的密碼去寫死在程式裡.很容易被其他人看到.
因此你需要向google申請一組程式專用的登入密碼.可以讓你寫死在程式裡.而你原本的登入google的密碼還是不變.
自行登入google -->使用原密碼
程式登入google -->使用App Passwords
2者不沖突
請由以下網頁步驟操作..看似複雜.其實很簡單.
support.google.com/accounts/answer/185833
Noname.jpg
產生出類似下面那黄底區塊的password


複制然後貼到java範例裡的password..
然後...執行.

收到mail成功 .................
Noname.jpg
半夜2點..累死了.
明天再來研究發送訊息到gtalk





評分

參與人數 2金錢 +10 收起 理由
philipz + 5 太強了
TrendRover + 5 謝謝你,真的需要這個

查看全部評分

 樓主| 發表於 15-2-11 02:12 | 顯示全部樓層
後面那裡原本有很多貼圖..結果.不知怎麼的.coco竟然沒存到...
 樓主| 發表於 15-2-11 16:12 | 顯示全部樓層
簡單來說,google不想讓你登入google的密碼去寫死在程式裡.很容易被其他人看到.
因此你需要向google申請一組程式專用的登入密碼.可以讓你寫死在程式裡.而你原本的登入google的密碼還是不變.

以上這段純粹是我亂講的.....雖然我覺得蠻合理的@@

但真正的原因應該是你用人工可以用"2-Step Verification"
但是程式卻無法做到..
2-Step Verification 就是當你使用了未登記在案的電腦和瀏覽器時,google會透過手機簡訊告訴你一組密碼.然後你再將該密碼輸入於未登記的電腦或瀏覽器.完成認證.
但是你跑在電腦上的java程式要怎麼去讀取你手機裡的簡訊?
因此..才會有所謂的App Passwords讓你申請..然後去寫死在程式裡.
當然啦.若是個人使用當然就不用計較太多.若是公司使用..那最好就是以公司名義申請一組google帳號密碼比較好.
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-25 11:55

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |