一個讀取Gmail郵件的簡單程式
兄弟我理論性的東西說不出來,不過實際運用我們還是有辦法的
前幾天由於工作需要,想了解下關於支援ssl的郵件收發,按照以前普通的做法是行不通的,所以就上網東找找,西瞧瞧。發現了個好東西,並且實驗成功。
那天本想來javaeye看看有沒有人有相關的經驗,找了老半天,連個屁也沒聞到,我就說我們,我們這些做程式設計師的不能老是吹吹水,談談道理,我們得拿出點實際的東西出來,就想fins一樣,我就很佩服他的貢獻精神。
不說廢話了,看看原始碼,大家有空也可以實驗下。還真有用
上面程式碼,完全可以封裝成一個收取ssl郵件的庫
改天有時間整理下關於發郵件的方法
前幾天由於工作需要,想了解下關於支援ssl的郵件收發,按照以前普通的做法是行不通的,所以就上網東找找,西瞧瞧。發現了個好東西,並且實驗成功。
那天本想來javaeye看看有沒有人有相關的經驗,找了老半天,連個屁也沒聞到,我就說我們,我們這些做程式設計師的不能老是吹吹水,談談道理,我們得拿出點實際的東西出來,就想fins一樣,我就很佩服他的貢獻精神。
不說廢話了,看看原始碼,大家有空也可以實驗下。還真有用
java 程式碼
- /**
- * 用於收取Gmail郵件
- *
- * @author wuhua
- */
- public class GmailFetch {
- private static Logger logger = Logger.getLogger(GmailFetch.class);
- public static void main(String argv[]) throws Exception {
- logger.debug("開始讀取郵件......");
- Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
- final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
- // Get a Properties object
- Properties props = System.getProperties();
- props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
- props.setProperty("mail.pop3.socketFactory.fallback", "false");
- props.setProperty("mail.pop3.port", "995");
- props.setProperty("mail.pop3.socketFactory.port", "995");
- // 以下步驟跟一般的JavaMail操作相同
- Session session = Session.getDefaultInstance(props, null);
- // 請將紅色部分對應替換成你的郵箱帳號和密碼
- URLName urln = new URLName("pop3", ApplicationContext.POP3, 995, null,
- ApplicationContext.GMAIL_MAIL_NAME, //這裡替換您的gmail使用者名稱
- ApplicationContext.GMAIL_MAIL_PASSWORD); //這裡替換密碼
- Store store = session.getStore(urln);
- Folder inbox = null;
- try {
- store.connect();
- inbox = store.getFolder("INBOX");
- inbox.open(Folder.READ_ONLY);
- FetchProfile profile = new FetchProfile();
- profile.add(FetchProfile.Item.ENVELOPE);
- Message[] messages = inbox.getMessages();
- inbox.fetch(messages, profile);
- logger.debug("收件箱的郵件數:" + messages.length);
- for (int i = 0; i < messages.length; i++) {
- // 郵件傳送者
- String from = decodeText(messages[i].getFrom()[0].toString());
- InternetAddress ia = new InternetAddress(from);
- logger.debug("發信人:" + ia.getPersonal() + '('
- + ia.getAddress() + ')');
- // 郵件標題
- logger.debug("主題:" + messages[i].getSubject());
- // 郵件大小
- logger.debug("郵件大小:" + messages[i].getSize());
- // 郵件傳送時間
- logger.debug("傳送日期:" + messages[i].getSentDate());
- }
- } finally {
- try {
- inbox.close(false);
- } catch (Exception e) {
- }
- try {
- store.close();
- } catch (Exception e) {
- }
- }
- logger.debug("讀取郵件完畢......");
- }
- protected static String decodeText(String text)
- throws UnsupportedEncodingException {
- if (text == null)
- return null;
- if (text.startsWith("=?GB") || text.startsWith("=?gb"))
- text = MimeUtility.decodeText(text);
- else
- text = new String(text.getBytes("ISO8859_1"));
- return text;
- }
- }
改天有時間整理下關於發郵件的方法
相關文章
- gmail傳送郵件AI
- 簡單郵件系統程式
- [Gmail] 介紹一個通過 Gmail IMAP 服務傳送郵件的配置坑點AI
- 用Gmail做QQ郵件群發的一種方式AI
- 配置ActionMailer使用GMail傳送郵件AI
- 通過 Google Docs 加密你的 Gmail 郵件Go加密AI
- 一個簡單的傳送資訊到郵箱的程式
- 郵件開發:複雜郵件的一個示例
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- Gmail雅虎郵箱Hotmail全被破解 駭客稱攻擊簡單AI
- 免費Gmail報告生成指令碼Gmail Meter:每月為Gmail郵箱做一個全方位的統計報告AI指令碼
- Zmail-簡單易用的python郵件模組AIPython
- 實現簡單的郵件收發器(十二)
- JavaMail:java使用QQ郵箱傳送郵件簡單版。JavaAI
- Gmail推銷郵件過濾器疑似出現故障:大量培根郵件湧入使用者主郵箱AI過濾器
- 一款簡單實用的桌面電子郵件客戶端客戶端
- python 一鍵獲取郵件附件Python
- Gmail圖形驗證遭破解 垃圾郵件量暴增AI
- Gmail也出漏洞,郵件潛在的安全風險不得不防AI
- 一個簡單的守護程式
- 一個簡單的解密程式 (轉)解密
- 建立一個簡單的小程式
- 簡單高可配的技術週報郵件推送工具
- 基於java spring的郵件群發簡單方式JavaSpring
- win10系統下郵件客戶端無法讀取qq郵件如何解決Win10客戶端
- 在C#中使用RabbitMQ做個簡單的傳送郵件小專案C#MQ
- Linux 上使用 Gmail SMTP 伺服器傳送郵件通知LinuxAI伺服器
- uwsgi+django+gmail+threading多執行緒發郵件DjangoAIthread執行緒
- Go的第一個Hello程式 簡簡單單 - 快快樂樂Go
- 一個不錯的發郵件工具blat
- 一個簡單的反射連線程式反射線程
- 一個簡單的字串查詢程式字串
- 從零開始學Python(九):搭建一個基於SMTP的簡單郵件預警系統Python
- 一個簡易郵件群發軟體設計與實現
- python smtplib 傳送郵件簡單介紹Python
- 簡單演算法――郵件精靈 V2.0演算法
- Unittest單元測試框架——BeautifulReport測試報告和Yagmail自動傳送郵件框架測試報告AI
- 一個生日郵件提醒小工具