我成功地在我的VPS上安装了Postfix。 我想发送encryption的电子邮件。 我安装了所有证书和私钥,并设置我的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
但我不知道还有什么要做的。 我的意思是,如何检查我的电子邮件是否正在encryption? 我使用PHP的mail()函数发送传出的邮件。
当postfix 发送电子邮件到其他服务器时,后缀将作为SMTP客户端 。 因此您需要参考有关SMTP客户端和TLS的相关文档 。
要激活后缀SMTP客户端的TLSencryptionfunction,您需要将此行放在main.cf
smtp_tls_security_level = may
它将把postfix SMTP客户端放入Opportunistic-TLS模式,即如果服务器支持STARTTLS ESMTPfunction,则SMTP事务将被encryption。 否则,消息以明文forms发送。
要确定SMTP事务是否已encryption, smtp_tls_loglevel为1
smtp_tls_loglevel = 1
有了这个configuration,postfix将具有这样的SMTP事务encryption的日志行。
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)
当你完成编辑configuration文件,然后记得执行:
postfix reload
使更改生效。
注意: 上面的configuration只包含Postfix SMTP服务器smtpd ,一个用于接收电子邮件的守护进程。
看来你想通过一个安全的,encryption/authentication的连接发送正常的,未encryption的电子邮件。
我的意思是:如何检查我的smtp服务器是否正在通过TLS通道让gmail通话?
在这里你要说你想validation连接到你的MTA真正使用你的encryption通信手段。
这个问题已经在这里得到解答: https : //security.stackexchange.com/questions/58857/test-starttls-configuration-of-smtp-server
例如: https : //www.checktls.com/tests.html