[英]Use PHP to parse a confirmation email?
我正在將我的網站與第三方系統集成。 這是我的網站和第三方系統之間的工作流程:
1)在我的網站上,我使用PHP自動將CSV文件上傳到第三方系統。
2)第三方系統收到我的文件后,它將進行一些操作。
3)第三方系統將通過電子郵件john@mydomain.com列出成功和失敗操作的列表,包括任何錯誤消息。
4)我的網站需要在確認電子郵件中記錄成功/失敗操作的列表。
5)我的網站根據確認電子郵件中哪些項目成功/失敗執行操作。
第一個問題:我需要研究什么才能實現#4?
第二個問題:解析確認電子郵件是記錄第三方系統成功/失敗操作的最佳方法嗎? 進入第5步似乎是一種有問題的方式(例如,如果電子郵件中的語言更改了怎么辦?那么我必須重寫解析器”。)
好吧,顯然,更好的方法是按照定義的參數約定從第三方系統推送到您端的腳本。 如果有機會這樣做,請與第三方聯系,以某種方式無法實施這種方法。 他們的工作可能很少。
解析電子郵件:PHP中檢查POP3和IMAP郵箱的標准方法在這里
解析電子郵件本身所需的內容取決於它們的外觀。 可能會涉及到正則表達式。
我已經完成了與此類似的設置。 設置郵箱以接收來自另一個系統的輸出肯定不是最可靠的設置,但是有時沒有其他選擇。
Zend_Mail使這變得輕而易舉。 我檢查郵件收件箱的整個腳本只有幾行:
$mail = new Zend_Mail_Storage_Imap(array(
'host' => $config->reports->email->incoming,
'user' => $config->reports->email->address,
'password' => $config->reports->email->password
));
foreach ($mail as $message) {
$message->getContent(); // Do something with the message content
if ($message->isMultipart()) {
$part = $message->getPart(2); // Deal with attachment,
// if your output is an
// attachment
if ($part->contentTransferEncoding=='base64') {
$raw = base64_decode($part->getContent());
// Do something with the attachment data
}
}
}
由於您正在解析HTML,因此將其傳遞給DOM解析器將是下一步的邏輯步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.