如何在 Python 中验证电子邮件 DKIM 签名?

问题描述 投票:0回答:1

给定原始电子邮件,如何使用 Python 验证 DKIM 签名?

理想情况下,我想要的不仅仅是通过/失败结果,我还想了解任何问题的详细信息。

我找到了 dkimpy 包,但 API 对我来说并不明显。

python email dkim
1个回答
0
投票

对于简单的通过/失败验证:

import dkim # dkimpy

# Returns True/False
res = dkim.verify(mail_data.encode())

对于更细致的事情,你可以这样做:

d = dkim.DKIM(mail_data.encode(), logger=None, minkey=1024, timeout=5, tlsrpt=False)

# 
try:
    d.verify()
    # If it fails, a `dkim.ValidationError` exception will be thrown with details
except dkim.ValidationError as e:
    print(e)

# dkim.ValidationError: body hash mismatch (got b'PXUrNdoTzGcLtd4doJs+CufsiNvxoM5Q3SUPGi00C+I=', expected b'ax9SInd7Z3AQjRzcZSnY6UK392QEvjnKrjhAnsqfDnM=')
    
© www.soinside.com 2019 - 2024. All rights reserved.