我已经在centos7机器上安装了citadel电子邮件服务器。当我在我的php中使用phpmailer发送S/MIME加密的电子邮件到我自己的gmail帐户时,它没有加密消息。当我点击查看原始邮件时,我可以看到它是由以下几行签名的(或者我想是这样):
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----3CB610479D73F43DC55191B5AECECA87"
This is an S/MIME signed message但在底部,它会将该文件作为附件添加。
------3CB610479D73F43DC55191B5AECECA87
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
MIIG0gYJKoZIhvcNAQcCoIIGwzCCBr8CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 ............所以我不确定问题出在哪里。我开始认为是citadel服务器不支持S/MIME协议了?
我确实使用->sign( ... )方法在发送之前,我的证书和密钥是有效的,因为appache是起诉他们在我的网站上。但是,我没有设置sign函数的最后一个参数,即使在将其设置为CA chain.crt文件之后,它也会产生与上面相同的结果。
我真的很想发送加密的电子邮件,愿意在必要时更换电子邮件服务器。任何建议都将不胜感激。
发布于 2016-03-06 06:26:23
目前PHPMailer不支持S/MIME加密,仅支持签名。签名的电子邮件无需解密即可读取,但您可以验证其内容未被篡改。签名看起来像一个附件,不理解S/MIME的客户端会将其显示为通用附件,因此您看到的是预期的行为。
https://stackoverflow.com/questions/35820325
复制相似问题