结合使用端口 587 和 SSL 是否安全?

Is combining port 587 and SSL secure?

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

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

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

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

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

I've read that SSL is outdated and deprecated, so am I still able to send messages securely?

在此上下文中,SSL 的含义不是 SSL 与 TLS,而是隐式 SSL/TLS 与使用 STARTTLS 命令的显式 SSL/TLS。

$mail->SMTPSecure = "ssl";

这意味着使用隐式 SSL/TLS,即创建 TCP 连接并立即升级到 SSL/TLS。这适用于 smtps,即端口 465。

$mail->SMTPSecure = "tls";

这意味着使用显式 SSL/TLS,即创建 TCP 连接,执行一些简单的命令并仅在 STARTTLS 命令后升级到 SSL/TLS。这适用于端口 25 和 587。

For a registration system I need to send e-mails containing private information to future employees.

两种方式都保护发件人与第一邮件服务器之间的通信。 None 其中保护发件人和最终收件人之间的通信。单独的 SMTP 不适合这个,你需要 PGP 或 S/MIME 为此,包括密钥的必要基础设施。