Ssl
這種電子郵件配置是否安全?
我正在使用
nodemailer
包node.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 的郵件伺服器的連接的資訊,這些資訊看起來是加密的。但是在您的程式碼中,您配置了客戶端和本地郵件伺服器之間的連接,這可能不支持加密。