1
A
回答
3
如果我理解正確的話,你想用PHP生成一個簽名的電子郵件。
發送已簽名電子郵件的標準方式是S/MIME(另一種不太常見的方式是PGP)。 S/MIME基本上是一個包含CMS消息的base64編碼的MIME消息(CMS有時也被稱爲PKCS#7)。
從PHP執行此操作的一種方法是將PHP綁定到OpenSSL的openssl_pkcs7_sign
。
我不知道應該使用signed-by標頭。
+0
謝謝,這正是我需要的! :D – 2011-06-02 09:42:14
+0
這就是爲什麼您需要這些標題:https://support.google.com/mail/answer/180707?hl = zh_CN – 2014-02-09 09:12:52
0
如果你有一個.p12文件,那麼你可能需要從其中提取的公共證書和私鑰:
私鑰:
openssl pkcs12 -in <YOUR_FILE>.p12 -nocerts -out privateKey.pem
公共證書:
openssl pkcs12 -in <YOUR_FILE>.p12 -clcerts -nokeys -out publicCert.pem
然後你可以發送一個簽署的電子郵件與此PHP代碼:
<?php
$data = "This is a test signed email";
// create a temporary file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// sign the email
openssl_pkcs7_sign("msg.txt", "signed.txt",
file_get_contents(realpath("publicCert.pem")),
array(file_get_contents(realpath("privateKey.pem")), '<YOUR_PASS>'),
array(
"To" => "[email protected]",
"From: Jane Doe <[email protected]>",
"Subject" => "This is a test"
)
);
exec(ini_get("sendmail_path") . " < signed.txt");
相關問題
- 1. 電子郵件簽名
- 2. 帶圖像的電子郵件簽名
- 3. 包含簽名的電子郵件
- 4. 在共享主機上簽名PHP電子郵件
- 5. Outlook 2010新電子郵件簽名
- 6. 電子郵件設置API - 簽名
- 7. 回覆電子郵件簽名問題
- 8. 使用C#簽名電子郵件
- 9. Laravel 5:用DKIM簽名電子郵件
- 10. Outlook電子郵件簽名 - 標題?
- 11. 爲Outlook創建電子郵件簽名
- 12. EWS - 數字簽名電子郵件(smime.p7m)
- 13. 在PHP中的電子郵件附件?
- 14. 將電子郵件簽名自動添加到基於Web的電子郵件
- 15. 在資源文件中編輯簽名請求電子郵件
- 16. 電子郵件在PHP
- 17. 匿名電子郵件API PHP/Objective-C
- 18. 使用PHP發送簽名電子郵件
- 19. Php和電子郵件數字簽名問題
- 20. 在php中的電子郵件跟蹤
- 21. 在php中的電子郵件驗證?
- 22. 在PHP中的電子郵件跟蹤
- 23. InPerson簽名不是自動填寫簽名者電子郵件
- 24. 通過MS Graph API發送電子郵件時包含電子郵件簽名
- 25. 向電子郵件通知腳本添加電子郵件簽名
- 26. PHP從電子郵件列表中刪除電子郵件
- 27. 如何在.NET中對電子郵件進行數字簽名?
- 28. 如何在codeigniter中添加電子郵件簽名?
- 29. 如何在Excel VBA電子郵件中添加簽名?
- 30. 在電子郵件中顯示簽名圖像
請解釋你到底想要什麼。你不只是想要簽名的標題 - 你想要域密鑰或類似的東西,對吧? – 2009-09-28 23:01:24