2015-06-18 96 views
0

我運行一個小網站。我希望我的用戶發送帶有移動設備上附加照片的電子郵件到我們的網站Gmail地址。有沒有一種以編程方式登錄到gmail並在本地保存圖像文件的方式?Gmail以編程方式保存圖像

我意識到,99.9%的時間是通過讓用戶直接在網站上上傳圖片文件完成的。但我想知道是否有辦法使用電子郵件來做到這一點,因爲在這種情況下它更加便於用戶使用。

乾杯。

+0

謝謝!實時執行此操作的最佳方式是什麼,而無需運行連續腳本檢查新電子郵件? – user1489525

+0

我已經更新了我的答案來討論這個問題。基本上,如果您不想繼續輪詢Gmail,則可以設置SMTP服務器並讓Gmail爲您發送電子郵件。然後在您的SMTP服務器上,您可以進行本地檢查,也可以編寫郵件服務器篩選器以便在收到時進行處理。 – Grokify

回答

0

有兩種基本的方法可以解決這個問題,一種是從Gmail中取出電子郵件,另一種是Gmail將電子郵件推送給您。

投票的Gmail(拉)

使用這種方法,你會定期連接到Gmail下載新的電子郵件。步驟粗糙的順序是:

  1. 登錄到Gmail中使用IMAP或POP3
  2. 檢索MIME電子郵件
  3. 解析電子郵件檢索照片

當解析MIME電子郵件,您可以通過過濾設置爲圖像類型的MIME部件來識別圖像,例如image/jpegContent-Disposition設置爲attachment。圖像可以被編碼,例如, Content-Transfer-Encoding: base64,因此您可能希望在保存數據之前解碼數據。

有一些圖書館可以幫助用最流行的語言。

這裏有一個堆棧溢出我寫了從Gmail下載MIME郵件使用IMAP一個PHP例子:

的Gmail轉發(推送)

如果你不喜歡要登錄Gmail,您可以設置SMTP郵件服務器(例如Postfix,Exim,Sendmail等)來接收電子郵件,並讓Gmail向您發送它收到的電子郵件。這樣,您就不需要通過網絡連接到Gmail。然後在您的服務器上,您可以定期連接到它,也可以在服務器中編寫過濾器來爲您處理它。我做了兩個,使用本地連接和編寫郵件服務器處理過濾器。

0

是的,您需要使用您選擇的語言編寫pop3電子郵件閱讀代碼。

Java: http://www.oracle.com/technetwork/java/javamail/index.html 
Python: https://docs.python.org/2/library/poplib.html 
PHP: https://code.google.com/a/apache-extras.org/p/phpmailer/wiki/PHPMailer 

這裏有一個很好的例子,在Java中:http://alvinalexander.com/java/javamail-pop-pop3-reader-email-inbox-example