2013-03-27 64 views
-1

我想處理procmail收到的傳入轉發電子郵件,以獲取轉發(子)電子郵件的主題和收件人。Procmail處理轉發電子郵件

例如:

  • 用戶A收到一封電子郵件,從用戶B
  • 用戶A轉發電子郵件到電子郵件服務器
  • 電子郵件服務器接收電子郵件,並提取用戶B的電子郵件地址

是有執行這項任務的方法或配方嗎?或者,我必須通過主電子郵件正文中的方式進行regex?

編輯:

通過要求,我將提供邊界條件。 「UserA組」的電子郵件客戶端是Gmail和Outlook。所有用戶都以英文發送。 'UserB'是我控制下的自動代理。

我的一臺服務器('用戶B')向我的用戶('UserA')發送自動電子郵件,他們應該將電子郵件轉發給第二臺服務器進行處理(以確認他們收到了自動電子郵件)。

因此,我假設沒有一致的標題轉發,並且我需要通過電子郵件將我的方式表達爲提取我需要的數據。

回答

1

(這是不是一個真正的正確答案,但我不能在評論格式,所以這裏去。)

取決於你所說的「前鋒」的東西。如果您的意思是「在一個理智的電子郵件客戶端中使用'前進'按鈕」,它可能會以附件的形式出現(可能包含需要解碼才能訪問的內容傳輸編碼)或者線上副本作爲文本主體的原始信息;或者如果您的意思是「在破損的電子郵件客戶端中使用」前進「按鈕,例如來自 Mordor Redmond的任何內容,」還有一些可能的附加併發症。從技術上講,一些客戶也可能通過添加「Resent-to:」頭來「轉發」,否則只是逐字地重發原始消息。或者在某些現代客戶端中,您可以將消息拖到新消息的組合窗格中,並使其顯示爲新消息的附件,可能通過用戶控制包含消息的內容類型和編碼以及附件的。

假設你結束了類似下面的...

From: UserA <[email protected]> 
To: [email protected] 
Subject: VB: Hi 

Hey, here is a message I received. 

-- User A 

---- Ursprungligt meddelande ---- 
Från: UserB [mailto:[email protected]] 
Till: UserA 
Ämne: Hi 
Datum: perjantai 13. lokakuuta 2012 23:45 

Here is the original message 

-- User B 

....表示真的不適合自動處理。你可以想出啓發式方法,比如在分隔符之後標識「原始消息」分隔符和第一個(可能是本地化的和殘缺的)「to:」字段,也許通過要求所有消息來自特定客戶端的特定版本特定的區域設置,但在一般情況下,這不能可靠地解決。 (爲了好玩,我構建了一個運行芬蘭語系統設置的瑞典本地化示例;因此客戶端的標籤是瑞典語,但系統的日期是芬蘭語。)

如果您可以編輯您的問題以包含轉發郵件的示例以及可能的某些邊界條件(它始終來自同一用戶,她使用的客戶端軟件的版本和本地化可能不會更改等)我們可以嘗試從那裏拿走它。