📌  相关文章
📜  dkim.verify(email_message) TypeError: expected string or bytes-like object - 不管(1)

📅  最后修改于: 2023-12-03 15:30:30.985000             🧑  作者: Mango

DKIM 原理和使用介绍

简介

DKIM 代表域键标识邮件,是一项旨在标识发送者身份的技术。它使用公钥加密来验证发送者域在邮件头部的签名,以确认邮件是否经过篡改或伪造。 DKIM 可以用来防范SPAM邮件、防御各种网络钓鱼欺诈、网络钓鱼欺诈等安全漏洞。

DKIM 验证

在 Python 中使用 DKIM 验证的方法非常简单。您可以使用 Python 的 dkim 模块完成 DKIM 加密和验证。使用 dkim.verify(email_message) 函数来对邮件进行验证。

但是要注意,函数要求的参数应该是一个字符串或字节序列,而非 email.message.Message 对象。因此,你需要将 email 对象转换为字符串或字节序列。

代码片段
import dkim
import email

def verify_dkim(email_message: email.message.Message) -> bool:
    message = email_message.as_bytes() if isinstance(email_message, email.message.Message) else email_message
    try:
        return dkim.verify(message)
    except dkim.ValidationError:
        return False

上述代码片段演示了如何将 email.message.Message 对象转换为字符串字节序列,并使用 dkim.verify() 函数进行 DKIM 验证。函数将验证结果作为布尔值返回。

结论

本篇介绍了 DKIM 技术的原理和使用方法,以及在 Python 中使用 dkim 模块完成 DKIM 验证的方法。掌握了 DKIM 技术,您可以更好地保护自己的邮件安全,防范各种安全风险。