PHP:如何区分加密和未加密的电子邮件?

时间:2014-01-17 07:48:15

标签: php email encryption gnupg

我想创建一个只接收加密电子邮件的新电子邮件帐户。不幸的是,我无法修改邮件服务器配置,因此我考虑使用cronjob每2分钟检查一次收到的电子邮件,并自动拒绝那些未加密的邮件。

到目前为止,我做到了这一点:

$body = imap_body($mbox, $i);
if (substr($body,0,27) == "-----BEGIN PGP MESSAGE-----")
    $encrypted = true;
else
    $encrypted = false;

有效,但我很确定我没有捕获所有加密的电子邮件。我没有在标题中找到一个唯一的选项,它会告诉我邮件是加密的。 Enigmail留言:

X-Enigmail-Version: 1.5.1
然而,这对我没有任何帮助。仅像我上面那样只是为了获取BEGIN PGP MESSAGE字符串吗?

1 个答案:

答案 0 :(得分:0)

作为计算语言学的学生,我的第一个想法是统计学地尝试:

据我所知,加密消息不包含空格。因此,您可以将电子邮件正文标记为单词,并计算单词的平均长度。在其他一些邮件或文本上试试这个,看看平均长度是如何不同的。

它可能有点奢侈,但比查找子字符串更有效:例如某人可能会发送处理加密或最新NSA泄漏的网页或文本; - )