2008-11-17 69 views
11

我正在研究反垃圾郵件項目(centmail),其中涉及讓發件人使用添加自定義標頭(以及簽名,但該部分的easier)的客戶端插件。一般的問題是將電子郵件標題添加到您的外發郵件中,其中標題字段的內容是針對每條消息動態確定的。您的電子郵件客戶端是否允許您以編程方式添加自定義標頭?

令人驚訝的是,在Pine/Alpine中這似乎不可能。 Pine允許您爲傳出郵件指定一個過濾器腳本,但只有正文而不是郵件頭可以通過它。您當然可以在Pine設置中定義自定義標題,但我無法動態更改它們的內容。

我很想知道如何在其他電子郵件客戶端(Thunderbird,Outlook,Evolution,Mutt等)中執行此操作。當然,如果我錯了關於派恩。

+0

我越來越確定我對鬆沒有錯。它實際上有一個選項(_INCLUDEALLHDRS_)將標題傳遞給傳出過濾器腳本,但它仍然不會讓腳本更改實際發送的電子郵件中的標題。 – dreeves 2008-11-19 01:06:49

+0

看來Mutt和Pine有同樣的問題。 – dreeves 2008-12-02 05:49:51

+0

由於這是提供賞金的第一個問題之一,它不應該是一個「正常」的問題,而不是社區維基? – 2009-01-27 09:17:50

回答

5

Thunderbird插件Enigmail控制傳出郵件的標題。所以這是Thunderbird中可能的存在證明。

20

雖然它不是最嚴格意義上的插件,但您可以創建代理SMTP服務器來修改電子郵件 - 例如,像AVG傳出電子郵件掃描程序。這將有與許多電子郵件客戶端合作的優勢;你也可以創建一個插件,它可以與代理服務器通信,另一端與電子郵件用戶界面通信。

0

對於支持使用外部編輯器的所有郵件客戶端,可以使用腳本將特定標題添加到發送給編輯器的模板。在mutt中,有一個名爲edit_headers的配置參數,其中添加了一組常用標題,以便輕鬆添加自己的標題。還有另一個參數my_hdr可以使用。 Mutt確實支持`backtick``符號來運行外部命令。

最好能夠指定自己的模板,但目前尚不可能。

2

我挖這個由腦曲調到其他事情的舊零件...

我認爲這種做法是去配置sendmail和通過[bash中的/ etc]腳本做,如果我理解正確

根文件 http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ewtoc.html

Sendmail配置

部首聲明 http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ch04/061-064.html#Heading22

http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ch04/078-080.html

標題行的格式 由H線限定。 這條線的語法是

H [c?c mflagsc?] c hnamec:c htemplate

將此 規範中的連續行直接插入到傳出消息中 。在將 插入到消息中之前, 模板被宏展開。如果 擴展爲空,則不包括標題行 。如果指定的標記爲 (包圍問號)爲 ,則必須在 郵件程序定義中聲明至少一個 指定標誌,以便將此標頭自動輸出爲 。如果其中一個 這些標頭位於輸入中,則它將被指向輸出 ,而不管這些標誌是否爲 。

特殊標題行幾個標題 行有特殊解釋 由配置文件定義。 其他人有解釋內置 sendmail不能更改 而不更改代碼。該 內置功能在 下面的列表中描述:

•返回的回執到:如果這個頭 發送,消息將最終 交付完成後發送到任何 指定的名稱。郵件程序必須 在郵件程序描述符中有l標誌(本地傳送)設置爲 。 • 錯誤 - 若要:如果在處理過程中出現錯誤 ,此標題會將 錯誤消息發送到列出的名稱 而不是發件人。使用此 郵件列表標題行,以便 錯誤返回到列表 管理員。 •收件人:如果郵件 沒有收件人列在 郵件中(在To:,CC:或BCC: 一行中),sendmail會爲sendmail上指定的每個收件人 添加一個明顯收件人標題行: 命令 一行。

5

我同意Piskvor。我會實現它作爲代理SMTP服務器,這將帶來很多好處:

  1. 你會不會限制任何一個電子郵件客戶端,因此通過它的API限制(如果有的話)
  2. 它可以是應用於郵件服務器端,因此消除了安裝和部署的麻煩
4

Emacs可以通過編程實現此功能。您可以創建一個緩衝區(get-buffer-create),用標題信息填充它,並且非交互式地調用mail-send(將mail-interactive設置爲nil)。的緩衝內容(頭+體)

實施例與mail-send使用:

From: "Toto" <[email protected]> 
To: [email protected] 
Subject: Something 
BCC: [email protected] 
--text follows this line-- 

Hello, how are you? 

也可以通過添加一個鉤mail-send-hook改變每個傳出的電子郵件(報頭+體)。

1

對我來說,由於鬆是開源的,如果這個功能對你來說對這個程序很重要,你可以嘗試對該項目做出貢獻來添加該功能。

1

你可能想要研究的一件事是使用僞首部而不是頭部。由於鬆/高山讓你指定一個過濾器程序的電子郵件通過,你可以添加到開頭的身體,這應該很容易處理。我不確定它是否能夠完全符合你的目的,因爲我不知道你正在把什麼類型的系統放在一起。

我通過在Debian BTS System中的使用瞭解了有關僞首標的知識。

回答這個問題,我使用GMail,並且你不能以編程方式編輯頭文件(我希望看到一個允許你使用的webmail)。你對像X-List這樣的定製頭文件進行過濾,這很煩人。

1

爲自定義標頭插入郵件客戶端的一般想法出了點問題。

只有很多客戶在那裏。包括不同的版本,在不同的系統上。

header + body格式背後的好處是,所有非用戶,服務器和路由特定數據都是隱藏的。這個想法很重要。我不認爲這個用戶應該對某些自定義服務器相關的標題感到困擾。

此外,您試圖追加的數據實際上是用戶特定的數據。 像簽名一樣。它驗證發件人的有效性。沒有理由將其從用戶隱藏。

簽名的電子郵件數據是衆所周知的過程中,PGP,SMIME等使用有可能是更多的郵件客戶端,允許這樣的行動不是允許添加或修改自定義郵件頭(驗證和外部程序簽名)。

自定義標題應該由郵件服務器修改;用戶數據由郵件客戶端。

我認爲你sholud把你的數據放在消息或消息部分。

1

在松樹中工作而不修改松本身或修改郵件服務器的一種方法是通過命令行程序(傳統上是/ usr/sbin/sendmail之類的)傳遞鬆並使被調用的程序成爲原始程序的包裝。然後你可以添加你需要的任何標題。

雖然這很醜,但它肯定不會爲整個用戶羣規模。

相關問題