2012-12-11 79 views
0

我有一個包含5000多封電子郵件的收件箱,說有人註冊了。在電子郵件的正文中是他們的電子郵件地址和我想要存儲在數據庫中的名稱。 Q)我怎樣才能把這個數據庫加入到數據庫中?理想情況下,MySQL。從我的收件箱中存儲的電子郵件創建電子郵件數據庫

理想情況下,我想在我最熟悉的PHP中執行此操作。

我使用iRedMail有:OpenLDAP的

UPDATE:自發布使用Plan Cake Email Parser我已經寫了實際的電子郵件分析器的問題,硬是花了5分鐘後,我發現這一點。

UPDATE 2: 爲了使事情變得更容易,我將數據庫中所有需要的電子郵件都移動到單獨的IMAP文件夾中。

但是當我做一個搜索它沒有返回值:找到的/ var/vmail -name「認購」型d -

更新3: 另一種選擇是,我已經在我的電子郵件客戶端下載的電子郵件在本地使用Thunderbird的Windows 7當我檢查我的配置,我可以看到3個相關文件:

  1. Subscribers.msf
  2. 認購-1
  3. 認購-1.msf
+0

我希望將來你會直接把這個存儲到db – 2012-12-11 07:56:05

回答

1

真正棘手的部分是不解析電子郵件,而是從您的服務器獲取電子郵件。有三種方式我可以這樣想:

  1. 使用php的imap庫http://php.net/manual/en/book.imap.php。我個人並沒有非常努力,但因爲你只是提取所有的電子郵件,它可能是有用的。缺點是您最終還會獲取所有其他郵件。
  2. 使用第三方服務處理imap並通過更簡單的REST界面顯示您的電子郵件。理想情況下,您希望搜索關鍵詞(也許是「用戶註冊」),然後解析它。
  3. 使用offlineimap將所有電子郵件作爲Maildir下載並存儲在本地。現在,您可以使用PHP搜索所有電子郵件,並且在此處測試版本會更快更輕鬆。

至於解析,我個人推薦使用grep查找包含要提取信息的郵件,並awk這些信息轉換成CSV文件。你可以使用PHP來進行文本處理,但這樣做更簡單,更清潔。

您現在可以輕鬆地將數據推送到MySQL。

相關問題