Ssl

這種電子郵件配置是否安全?

  • April 20, 2020

我正在使用nodemailernode.js來發送郵件,但我不確定安全性。我收到的主機僅使用此配置(也使用埠 587):

 const transporter = nodemailer.createTransport({
   host: 'some.host.address.org',
   port: 25,
   requireTLS: false,
   secure: false,
 })

對於此配置:

requireTLS: true,
secure: false,

我收到錯誤: Error upgrading connection with STARTTLS: 500 5.3.3 Unrecognized command

對於此配置:

port: 465,
secure: true,

我有另一個錯誤 error: 4605283776:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:

所以我的假設是我的主機不支持 STARTTLS 或 TLS。但是當我在客戶端檢查這些郵件時,我可以在郵件標題中看到以下資訊:

Received: from mycompany.domain (mycompany.domain.com. [*some IP address*])
       by mx.google.com with ESMTPS id sxxxxxxxios.xx.2020.04.20.xx.xx.xx
       for `<id@some.host.address.org>`
       (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
       Mon, 20 Apr 2020 09:26:18 -0700 (PDT)
Received-SPF: pass (google.com: domain some.host.address.org configured xxx.xxx.xx.xxx as internal address)

所以我不確定我的郵件是否是加密發送的,這個 nodemailer 配置是否安全,以及我怎麼可能在郵件頭中看到 TLS,可能我在這裡不明白。

郵件傳遞是通過 SMTP 協議完成的。這是一個逐跳協議,這意味著在各躍點(即郵件伺服器)之間的連接最多是加密的,並且中間的每個郵件伺服器都可以讀取(和更改)郵件。您在特定的 Received 標頭中看到的是有關從您公司的郵件伺服器到 Google 的郵件伺服器的連接的資訊,這些資訊看起來是加密的。但是在您的程式碼中,您配置了客戶端和本地郵件伺服器之間的連接,這可能不支持加密。

引用自:https://serverfault.com/questions/1013273