php - 服务器到服务器的电子邮件传输安全吗?

标签 php security email joomla mta

我们正在运行一个带有网络到电子邮件表单的网站。我们强制使用 https 来保护从浏览器到 Web 服务器的传输。我们使用 PHP 从 Web 服务器生成包含收到信息的电子邮件。目标电子邮件服务器位于另一个位置。我想知道电子​​邮件从网络服务器到目标电子邮件服务器的传输是否安全。

所以我有几个相关问题:

A) 默认情况下,从发件人服务器到收件人服务器的电子邮件传输是否安全? (需要明确的是,这不是关于从电子邮件客户端到 SMTP 服务器的连接的问题)

B) 如果默认情况下传输不安全,我如何检查消息是否安全传输?

C) 如果传输当前不安全,我如何请求/强制安全连接?

我们使用默认的 PHP 邮件功能(通过 Joomla 扩展)

谢谢!

最佳答案

A) 最初,服务器到服务器的 smtp 连接始终在端口 25 上以纯文本形式进行。 如果源服务器和目标服务器都支持 TLS extension然后通常普通连接会转换为带有 STARTTLS 的加密连接。命令

B) 要检查邮件是否通过加密连接传输,请在传输后读取结果消息中的“已接收” header 。

它们看起来像这样:

Received: from X.example.com (X.example.com [y.y.y.y])
    by z.example.net (Postfix) with ESMTPS id ......

重要的部分是ESMTPS位。最后一个 S 表示“安全”。 如果它只是显示“ESMTP”“SMTP”而不是“ESMTPS”,则传输加密。

C) 如果目标服务器不支持 TLS,除了某种端到端加密(如 PGP)(如 Álvaro G. Vicario 建议)之外,您无能为力。某些服务器(如 postfix )提供配置选项,以防止在目标无法执行 TLS 的情况下消息完全出去。

您可以使用 telnet 手动测试服务器是否支持 STARTTLS:

telnet gmail-smtp-in.l.google.com 25
Trying 173.194.70.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP 4si1878861eee.197 - gsmtp
EHLO mail.example.com              <--- you have to type that
250-mx.google.com at your service
250-SIZE 35882577
250-8BITMIME
250-STARTTLS                       <----- GMAIL supports TLS
250 ENHANCEDSTATUSCODES  

        

关于php - 服务器到服务器的电子邮件传输安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761831/

相关文章:

linux - shell 脚本 - for 循环 - 根据用户从文件输入的 grep 邮件 ID

php - 错误设置证书验证位置

php - yii 中的 Mysql View

security - ColdFusion 安全

asp.net - 如何使用 Windows 集成身份验证强制显示登录窗口

linux - Unix : Restricting a directory to an user

php - 自动加载下拉菜单值

php - MYSQL查询有问题

javascript - 使用 JavaScript + Node.js 向用户发送电子邮件(nodemailer?)

delphi - 如何实现从outlook邮件或thunderbird拖放到delphi表单?