【问题标题】:Is combining port 587 and SSL secure?结合端口 587 和 SSL 是否安全?
【发布时间】:2020-03-30 14:14:16
【问题描述】:

对于注册系统,我需要向未来的员工发送包含私人信息的电子邮件。 当我第一次使用 PHPMailer 设置这个系统时,我习惯了以下设置:

$mail->Port = 587;
$mail->SMTPSecure = "tls";

但是,我工作的公司已经更改了他们的邮件系统,现在让我的系统正常工作的唯一方法是使用以下设置:

$mail->Port = 587; //or 465
$mail->SMTPSecure = "ssl";

我了解到 SSL 已过时且已弃用,所以我还能安全地发送消息吗?

【问题讨论】:

    标签: ssl smtp phpmailer


    【解决方案1】:

    我了解到 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 来解决此问题,包括密钥的必要基础设施。

    【讨论】:

    • 谢谢,非常清楚的解释。你回答的最后一部分真的让我很惊讶,我很高兴你提到了如此重要的信息。我现在正在调查。
    • @Joël:另见How SSL works in SMTP?
    • 这在PHPMailer docs中也有介绍。
    猜你喜欢
    • 1970-01-01
    • 2012-04-25
    • 2017-06-12
    • 2014-12-15
    • 2018-06-27
    • 2016-04-27
    • 2010-09-08
    • 2012-10-15
    • 1970-01-01
    相关资源
    最近更新 更多