Security
電子郵件客戶端和 PHPMailer 的安全電子郵件設置
我正在努力研究如何使我的傳出/傳入電子郵件盡可能安全。
首先,我的域有萬用字元 OV SSL 證書,我有
.csr
,.crt
和.key
文件的副本,但我沒有 or 的任何 PKCS12 文件.p12
,.pfx
是否可以從我的 SSL 證書中獲取這些文件,以便我可以通過數字簽名發送的電子郵件電子郵件客戶端,例如 Outlook、Thunderbird… 等其次,目前我可以並且應該為我的電子郵件客戶端使用的“最安全”/“最佳”安全設置是什麼,以下是所有可用選項。
傳入選項
連接安全:
- 沒有任何
- 啟動TLS
- SSL/TLS (目前通過埠 993 使用)
身份驗證方法:
- 普通密碼***(目前通過埠 993 使用)***
- 加密密碼
- Kerberos / GSSAPI
- NTLM
- TLS 證書
- OAuth2
傳出選項
連接安全:
- 沒有任何
- 啟動TLS
- SSL/TLS (目前通過埠 465 使用)
身份驗證方法:
- 無身份驗證(不可用)
- 普通密碼***(目前通過埠 465 使用)***
- 加密密碼(不可用)
- Kerberos / GSSAPI(不可用)
- NTLM(不可用)
- OAuth2(不可用)
最後但並非最不重要的一點是,PHPMailer 也是如此,我應該使用 TLS 還是 SSL(哪個更好?)
$phpmailer->SMTPSecure = "tls"; // Choose SSL or TLS, if necessary for your server
試試這個如何創建 p12。
openssl pkcs12 -export -in cert.crt -inkey cert.key -name "Your Name" -out cert.p12
以下對於公司部署來說已經是“安全”且實用的。
- 傳入埠:POP3 995 或 IMAP 993 (SSL/TLS)
需要 SMTP 身份驗證
- 外發郵件伺服器 (SMTP) 埠:465 (SSL/TLS)
需要 SMTP 身份驗證
最後,盡可能使用 TLS。TLS 性能更好,並且某些 SSL 協議存在安全問題。
入站選項不適用於 PHPMailer。埠 465 (SMTPS) 上的 SSL 自 1998 年以來已被棄用,儘管 Microsoft 似乎沒有註意到。在埠 587 上使用 SMTP+STARTTLS,這是 PHPMailer 在使用
SMTPSecure = 'tls'
&時所做的Port = 587
。請注意,PHPMailer 使用機會 TLS,如果您不告訴它使用 TLS,並且您連接到支持它的伺服器,它將自動使用它。最近的 PHPMailer 5.2 版本支持 gmail 的 XOAUTH2 身份驗證,並且 6.0 增加了對許多其他提供商的支持。
如果您使用的是早於 5.6 的 PHP,您應該啟用證書驗證(PHP 5.6+ 預設情況下會這樣做)。