用 procmail 判斷信件是否有過 DKIM Signature

栏目: Python · 发布时间: 7年前

内容简介:這年頭自己維護 mail account 的情況比較少了,所以資料不太好找,測出來寫下來讓其他人也可以用...這邊說的是透過如果是

這年頭自己維護 mail account 的情況比較少了,所以資料不太好找,測出來寫下來讓其他人也可以用...

這邊說的是透過 procmail 判斷信件是否符合 DKIM Signature,然後加上 header。

如果是 Ubuntu 環境,首先在要裝上 python-dkim (不是 python 3-dkim):

sudo apt install -y python-dkim

我們需要裡面的 dkimverify 程式透過 stdin 讀信件進去,然後透過 exit code 告知有沒有成功。

對應的 .procmailrc 是這樣:

# DKIM
:0
* ^DKIM-Signature:
{
    :0BHWf
    * ? /usr/bin/dkimverify
    | /usr/bin/formail -A "X-Procmail-DKIMVerify: pass"
    :0Ef
    | /usr/bin/formail -A "X-Procmail-DKIMVerify: bad"
}

裡面大多數的設定說明可以參考 procmailrc 的 manpage,這邊只就 magic keyword 說明一下。

BH 是 body 與 header 都要判斷,而 f 是把程式當作 filter,把信件從 stdin 丟進去,然後將 stdout 輸出的結果往下繼續處理, W 是看程式執行執行結果 (看 exit code) 決定要不要跑設定的指令。

E 表示上面的那格沒有跑到的話就跑自己這格,類似於 if-then-else 裡面的 else。

我發現這個需求在我的 issue tracking system 內是 2016 年 10 月開的,總算解掉他了...


以上所述就是小编给大家介绍的《用 procmail 判斷信件是否有過 DKIM Signature》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

信息简史

信息简史

[美] 詹姆斯·格雷克 / 高博 / 人民邮电出版社 / 2013-10 / 69.00元

人类与信息遭遇的历史由来已久。詹姆斯•格雷克笔下的这段历史出人意料地从非洲的鼓语讲起(第1章)。非洲土著部落在尚未直接跨越到移动电话之前,曾用鼓声来传递讯息,但他们是如何做到的呢?后续章节进而讲述了这段历史上几个影响深远的关键事件,包括文字的发明(第2章)、罗伯特•考德里的第一本英语词典(第3章)、查尔斯•巴贝奇的差分机与爱达•拜伦的程序(第4章)、沙普兄弟的信号塔与摩尔斯电码(第5章)。 ......一起来看看 《信息简史》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

SHA 加密
SHA 加密

SHA 加密工具