是否可以确定我收到的电子邮件是否是通过 TLS 发送的?

Sto*_*lio 4 email-server tls

我正在查看我正在使用的应用程序的邮件发送服务的设置(该服务是一个名为Mandrill的 mailchimp 收购)。

我想确定,当我从该服务向自己(在 gmail.com)发送测试电子邮件时,邮件服务器之间的流量是否使用 TLS。我可以访问发送给我的电子邮件(我在下面包含了标题)。

我打算询问供应商他们是否支持此功能,但我也想知道我是否可以验证他们个人告诉我的内容。

Delivered-To: recipient-local@gmail.com
Received: by 10.79.123.142 with SMTP id k136xxxxxxxxxxxx;
        Tue, 5 Jul 2016 07:29:11 -0700 (PDT)
X-Received: by 10.37.97.11 with SMTP id v11mxxxxxxxxxxxx.36.14nnnnnnnnnnn;
        Tue, 05 Jul 2016 07:29:11 -0700 (PDT)
Return-Path: <bounce-xxxxxxx@mandrillapp.com>
Received: from mail180-123.mandrillapp.com (mail180-123.mandrillapp.com. [a.b.c.d])
        by mx.google.com with ESMTPS id mmmmmmmmmmm.nnn.2016.07.05.07.29.11
        for <recipient-local@gmail.com>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 05 Jul 2016 07:29:11 -0700 (PDT)
Received-SPF: pass (google.com: domain of bounce-xxxxxxx@mandrillapp.com designates a.b.c.d as permitted sender) client-ip=a.b.c.d;
Authentication-Results: mx.google.com;
       dkim=pass header.i=@mail180-123.mandrillapp.com;
       dkim=pass header.i=@mandrillapp.com;
       spf=pass (google.com: domain of bounce-xxxxxxx@mandrillapp.com designates a.b.c.d as permitted sender) smtp.mailfrom=bounce-xxxxxxx@mandrillapp.com;
       dmarc=fail (p=NONE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=mandrill; d=mail180-123.mandrillapp.com;
 h=From:Sender:Subject:Reply-To:To:Message-Id:Date:MIME-Version:Content-Type; i=sender@mail180-123.mandrillapp.com;
 bh=xxxxxxxxxxxxxxxxxxxxxxx+8fQ=;
 b=n+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxx+Z+tSJV/zEtr
   xxxxxxxxx+xxxxxx+xxxxxxxxxxxxxxxxxxxxxx/xxx/xxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxx
   xxxxxxxxxxxxxxxxxxx=
Received: from pmta03.mandrill.prod.suw01.rsglab.com (127.0.0.1) by mail180-123.mandrillapp.com id xxxxxxxxxxxx for <recipient-local@gmail.com>; Tue, 5 Jul 2016 14:29:11 +0000 (envelope-from <bounce-xxxxxxx@mandrillapp.com>)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com; 
 i=@mandrillapp.com; q=dns/txt; s=mandrill; t=1467728951; h=From : 
 Sender : Subject : Reply-To : To : Message-Id : Date : MIME-Version : 
 Content-Type : From : Subject : Date : X-Mandrill-User : 
 List-Unsubscribe; bh=xxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxx=; 
 b=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
From: recipient <recipient@gmail.com>
Sender: recipient <sender@mail180-123.mandrillapp.com>
Subject: =?utf-8?Q?Subject
Return-Path: <bounce-xxxxxxx@mandrillapp.com>
Received: from [208.nnn.nnn.nnn] by mandrillapp.com id xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; Tue, 05 Jul 2016 14:29:11 +0000
Reply-To: <recipient@gmail.com>
To: ClientSeq ClientMcD <recipient-local@gmail.com>
Message-Id: <nnnnnnnn.nnnnnnnn142911.nnnnnnnn1aadf2.nnnnnnnn@mail180-123.mandrillapp.com>
Date: Tue, 05 Jul 2016 14:29:11 +0000
MIME-Version: 1.0
Run Code Online (Sandbox Code Playgroud)

Sve*_*ven 9

在行中提到 TLS

Received: from [...] (mail180-123.mandrillapp.com. [...])
          by mx.google.com with ESMTPS [...]
          (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Run Code Online (Sandbox Code Playgroud)

很明显,从 Mandrill 到 GMail 的连接确实受 TLS 保护。

ESMTPS(安全 ESMTP)被列为传输的这一事实也是如此,请参阅RFC 3848

  • 在这种特殊情况下,您是绝对正确的。但是,更一般地说,我认为重要的是要注意消息可能会通过多个服务器传输,因此有多个“已接收”标头;在这种情况下,无论链路上是否存在 TLS,每个服务器都可以查看(和修改!)消息。确保 _all_ `Received` 标头报告 TLS 的存在也很重要(尽管同样,这仅提供了服务器之间的安全性,而不是服务器本身的安全性)。对于端到端保护,您需要像 S/MIME 或 PGP/GPG 这样的东西。 (3认同)