我在我的 VPS 上成功安裝了 Postfix。我想發送加密的電子郵件。我安裝了所有憑證和私鑰並設定了我的conf檔案:
smtpd_tls_key_file = <path to my private key>
smtpd_tls_cert_file = <path to my cert file>
smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination
smtpd_tls_security_level = encrypt
但我不知道還能做什麼。我的意思是,如何檢查我的電子郵件是否已加密?我使用 phpmail()
函數來發送外發郵件。
答案1
當後綴傳送發送電子郵件到其他伺服器,然後 postfix 將充當SMTP客戶端。因此您需要參考關於SMTP客戶端和TLS的相關文檔。
若要啟動 postfix SMTP 用戶端的 TLS 加密功能,您需要將此行放入main.cf
smtp_tls_security_level = may
它將把 postfix SMTP 用戶端置於機會 TLS 模式,即如果伺服器支援 STARTTLS ESMTP 功能,則 SMTP 交易將被加密。否則,訊息將以明文形式發送。
若要查明 SMTP 事務是否加密,請增加到 smtp_tls_loglevel
1
smtp_tls_loglevel = 1
透過這個配置,postfix 將會有日誌行,就像這個 SMTP 交易被加密一樣。
postfix-2nd/smtp[66563]: Trusted TLS connection established to gmail-smtp-in.l.google.com[74.125.200.27]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
完成設定檔的編輯後,請記住執行:
postfix reload
以使更改生效。
筆記:上面的配置僅涵蓋 Postfix SMTP 伺服器smtpd
,這是一個用於收到電子郵件。
答案2
您似乎想透過安全、加密/經過驗證的連線發送正常的、未加密的電子郵件。
我的意思是:如何檢查我的 smtp 伺服器是否真的透過 TLS 通道與 gmail 進行通訊?
在這裡,您說您想要驗證與 MTA 建立的連線是否確實使用加密的通訊方式。
這個問題已經在這裡得到了答案:https://security.stackexchange.com/questions/58857/test-starttls-configuration-of-smtp-server