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

PHP:如何区分加密和未加密电子邮件?,php,email,encryption,gnupg,Php,Email,Encryption,Gnupg,我想创建一个只接收加密电子邮件的新电子邮件帐户。不幸的是,我无法修改邮件服务器配置,因此我考虑使用cronjob每隔2分钟检查一次传入的电子邮件,并自动拒绝那些未加密的邮件 到目前为止,我做到了: $body = imap_body($mbox, $i); if (substr($body,0,27) == "-----BEGIN PGP MESSAGE-----") $encrypted = true; else $encrypted = false; 工作,但我很确定我没有

我想创建一个只接收加密电子邮件的新电子邮件帐户。不幸的是,我无法修改邮件服务器配置,因此我考虑使用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

然而,这对我没有任何帮助。像我上面所做的那样,仅仅grep开始PGP消息字符串就足够了吗?

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

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

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