我有一個PHP腳本,發送需要到達目的地的重要電子郵件。我知道如何檢查電子郵件是否成功發送,唯一的問題是知道它是否真的到達了收件人。有沒有辦法確定電子郵件是否到達目的地?
有什麼建議嗎?如果沒有辦法知道,你會如何處理這種情況?
我有一個PHP腳本,發送需要到達目的地的重要電子郵件。我知道如何檢查電子郵件是否成功發送,唯一的問題是知道它是否真的到達了收件人。有沒有辦法確定電子郵件是否到達目的地?
有什麼建議嗎?如果沒有辦法知道,你會如何處理這種情況?
如果您基於HTML的郵件,您可以在它含有獨特的收件人信息的URL圖像。您可以構建應用程序,以便這些URL在返回所需的圖像數據之前觸發某些代碼以將該特定電子郵件標記爲已讀。
是完全有效,圖像必須形成電子郵件的一個重要組成部分,以便收信人有讓自己的電子郵件客戶端搶圖像。您還可以使電子郵件的純文本部分僅包含一個URL以檢索完整的郵件,並允許您跟蹤收據。
有多遠,你把這些想法取決於爲什麼你需要知道它已經閱讀並想可能惹惱他們所不能cut'n'paste電子郵件收件人什麼程度,在移動設備上輕鬆閱讀設備,聽與屏幕閱讀器,等等
有沒有辦法知道肯定。即使遠程服務器接受該消息,也不保證它不會被垃圾郵件過濾器或其他方式過濾。
在這一點上,我有興趣知道遠程服務器是否接受消息。所以我很高興能夠知道這是否發生。 – Marcel 2008-10-08 22:50:08
如果我記得只要權利,你成功發送,您可以放心,它已經至少被接收郵件服務器接受。
當您說'發送成功'時,是否指的是返回碼? – Marcel 2008-10-08 22:49:06
http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#Sample_communications 有一個發送電子郵件時會發生什麼的例子。 – 2008-10-09 15:40:34
投遞狀態通知是通常的方式:http://www.sendmail.org/~ca/email/dsn.html
如果電子郵件被讀取,除非您使用微軟電子郵件的事情,讀者沒有禁用已讀回執你不能告訴。
編輯:我還沒有進展到HTML電子郵件了,所以我從來不認爲一個閱讀通知。
一個web bug可能給你就像一個讀回執,如果這就是你在問什麼。
試試這個:
寫的HTML電子郵件(這不是那麼棘手用PHP)。 在該電子郵件中,包含一張圖片(可能只是一個漂亮的標誌或其他東西)。 這張照片將是一張特別的照片......它的src將會是,比如myserver.com/images/[email protected]
。這個src需要爲每個發送郵件的人動態生成。然後,如果收件人打開電子郵件,電子郵件客戶端會詢問您的服務器[email protected]
因此,如果您的服務器收到該圖像的請求,您將知道收件人@電子郵件.com收到您的消息。
您可以在URL的末尾創建的標籤的特殊格式,因此它不僅會告訴它是哪個人,但他們迴應的電子郵件。
請記住,這是垃圾郵件發送者做的說,如果電子郵件地址是有效的。因此,某些軟件可能會詢問用戶是否認爲自己是垃圾郵件!此外,有些用戶不會支持圖像(或將關閉此支持)。
祝你好運!
如果它的內部,發送電子郵件,但不要把該消息的內容的電子郵件。提供一個鏈接到一個網站,但在URL中的標識符,以便您可以將頁面視圖綁定到電子郵件。
你仍然可以做,如果它的外部,只要人在另一端是合作。
您還可以設置目標郵件系統上的香草帳戶和檢查。如果您在該帳戶下收到電子郵件,則系統不會將其過濾掉。
你也可以要求接收系統的管理員給你一個反應良好的電子郵件(你知道,捲起你的確認網頁的腳本),但這需要很多合作。儘管在這一點上,通過Web服務傳遞消息可能更容易。
遺憾的是,用於確定是否一個消息被傳遞給用戶的收件箱沒有100%方法。即使服務器接受該消息,它也可能被垃圾郵件過濾器阻擋或異步反彈回來。
很多人都提到了網絡bug跟蹤風格的技巧。這些對營銷人員很有效:他們可以根據樣本量進行假設。他們需要HTML電子郵件並且用戶在HTML中加載圖像。這在某些情況下會自動發生,但很多時候人們必須特別點擊「下載圖像」按鈕。
的另一種方法是使用Goodmail。他們的部分服務是跟蹤哪些消息實際獲得並開放。當然,這會花錢,並不是所有的郵件提供商都支持。再次,它主要是一種營銷工具。
您也可以在鏈接中隱藏跟蹤腳本。例如,您可以創建一個看起來像網址:
http://trackingserver/track/$messageid/http://real.url/goes/here
的track
腳本然後記錄「喀嗒」的數據庫和客戶端重定向到http://real.url/goes/here
。然後,您需要有一個令人信服的理由來每次點擊該URL。
SMTP協議是異步的,所以用戶郵件客戶端可以返回唯一的保證反饋。如果交付出現問題,您將收到退回電子郵件到信封發件人中定義的地址(郵件標題Return-Path)這些退回的時間是不可預知的並且是未定義的。 目前爲止,HTML電子郵件正文中的跟蹤像素是報告用戶實際打開電子郵件的最佳方式。
所有跟蹤鏈接和webbugs假設人們實際打開電子郵件,並啓用遠程圖像,或點擊鏈接。哪一個都是有缺陷的。
要確保,如果接收到電子郵件,而不是回來後,我會做到以下幾點:
Errors-To
頭(例如設定爲[email protected])Return-Path
頭(集例如[email protected])這可以讓您根據郵件內容來檢查電子郵件何時回來,您可能會找出哪個郵件被反彈/返回。
爲什麼你想知道有人讀過郵件?
從法律上講,你不可能拿出來的方式將在法庭上舉行(比如說你想確保有人讀過重要文件),因爲你無法證明讀者是收件人。
安全方面,您的郵件將被任何體面的垃圾郵件過濾器標記爲垃圾郵件,並在任何人看到它之前被刪除,因爲在郵件中添加陌生鏈接或網絡錯誤或圖像正是垃圾郵件發送者所做的。如果你想賣東西,這是確保你不會的絕對方法。
更新:如果您需要確保人們已經閱讀過某些內容,我建議您發送帶有鏈接或指向他們應該閱讀的文檔的指針的郵件。不要將網絡錯誤或個性化ID添加到鏈接。在文檔中,告訴他們簽署文檔並返回簽名副本,以證明他們已經閱讀過該文檔。
我想所有上述:在HTML中的圖像,如果他們點擊某些東西,跟蹤鏈接。有第三方服務,如ReturnPath/Goodmail可以提供幫助。
最好的建議是確保您發送的郵件清單幹淨,IP地址具有良好的信譽,反向dns/spf記錄,對廣告系列有良好的取消訂閱和反彈處理,對內容進行垃圾郵件檢查以及讓收件人添加你到他們的地址簿。
這會給你送一個更好的機會......
Sundeep.//
我這樣想回答:添加該說,「如果您沒有收到該電子郵件中的鏈接, 點擊這裏。」 – 2008-10-08 22:48:39
那太棒了。我可以在所有電子郵件中報告100%的成功率! :) – Marcel 2008-10-08 22:50:58