ssl - 结合端口 587 和 SSL 是否安全?
问题描述
对于注册系统,我需要向未来的员工发送包含私人信息的电子邮件。当我第一次使用 PHPMailer 设置这个系统时,我习惯了以下设置:
$mail->Port = 587;
$mail->SMTPSecure = "tls";
但是,我工作的公司已经改变了他们的邮件系统,现在让我的系统正常工作的唯一方法是使用以下设置:
$mail->Port = 587; //or 465
$mail->SMTPSecure = "ssl";
我读到 SSL 已过时且不推荐使用,所以我仍然能够安全地发送消息吗?
解决方案
我读到 SSL 已过时且不推荐使用,所以我仍然能够安全地发送消息吗?
在这种情况下,SSL 的含义不是 SSL 与 TLS,而是使用 STARTTLS 命令的隐式 SSL/TLS 与显式 SSL/TLS。
$mail->SMTPSecure = "ssl";
这意味着使用隐式 SSL/TLS,即创建 TCP 连接并立即升级到 SSL/TLS。这适用于smtps,即端口465。
$mail->SMTPSecure = "tls";
这意味着使用显式 SSL/TLS,即创建 TCP 连接,执行一些普通命令,并且仅在 STARTTLS 命令之后升级到 SSL/TLS。这适用于端口 25 和 587。
对于注册系统,我需要向未来的员工发送包含私人信息的电子邮件。
两种方式都可以保护发件人与第一邮件服务器之间的通信。这些都不能保护发送者和最终接收者之间的通信。单独的 SMTP 不适合这种情况,您需要 PGP 或 S/MIME 来实现这一点,包括密钥的必要基础设施。
推荐阅读
- r - 如何使用 felm() 指定工具变量模型?
- mysql - 填空 ID MySQL
- php - 如何从附件描述wordpress中获取peragraph的关键字?
- python - Pandas 强制对包含重复键的列进行一对一合并
- mysql - 如何在 AFTER UPDATE 触发器中引用最近更新的行
- c# - 如何在发布模式下激活时在调试模式下关闭 Visual Studio 中的 DocFX?
- javascript - 编辑记录时显示所选值
- php - 添加取消 URL - Mollie 付款
- android - 当我们使用 Firebase 创建 GTM 容器时,我们可以在 android 应用程序中使用多个 GTM 容器吗?
- python - 当我的图像对于屏幕来说太大时,如何将 cv2.selectROI 图像显示修改为正常?