Gmail将Dovecot电子邮件标记为不安全

我以为我成功保护了我的Postfix / Dovecot电子邮件服务器。 我有一个来自LetsEncrypt的签名证书,对我的域名有效。

发送和接收工作正常,但由于Gmail开始标记不安全的电子邮件,所有从我的服务器发送的邮件都被标记为未encryption

Gmail用户看到“此消息未encryption”,如下所示:

在这里输入图像描述

在Postfix的main.cf和其他设置中,我有:

 # SASL, for SMTP authentication smtpd_sasl_type = dovecot smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_path = private/auth # TLS, for encryption smtpd_tls_security_level = may smtpd_tls_auth_only = no smtpd_tls_CAfile = /etc/letsencrypt/live/mydomain.com/chain.pem smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com/privkey.pem tls_random_source = dev:/dev/urandom smtpd_client_new_tls_session_rate_limit = 10 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_exclude_ciphers = EXP EDH-RSA-DES-CBC-SHA ADH-DES-CBC-SHA DES-CBC-SHA SEED-SHA smtpd_tls_dh512_param_file = ${config_directory}/certs/dh_512.pem smtpd_tls_dh1024_param_file = ${config_directory}/certs/dh_1024.pem disable_vrfy_command = yes smtpd_helo_required = yes smtpd_delay_reject = yes 

在Postfix的master.cf ,除了其他设置外,我还有:

 smtp inet n - - - - smtpd -o smtpd_enforce_tls=yes -o smtpd_use_tls=yes -o smtpd_tls_security_level=encrypt submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o broken_sasl_auth_clients=yes 

在Dovecot的10-ssl.conf ,除了其他设置之外,我还有:

 ssl = required ssl_ca = </etc/letsencrypt/live/mydomain.com/chain.pem ssl_cert = </etc/letsencrypt/live/mydomain.com/fullchain.pem ssl_key = </etc/letsencrypt/live/mydomain.com/privkey.pem 

是否Gmail错误地标记LetsEncrypt证书,因为它不信任它们,或者我的电子邮件确实是未encryption发送的?

我通过将这两行添加到Postfix的main.cf解决了这个问题:

 smtp_tls_security_level = may smtpd_tls_security_level = may 

(我只设置了smtpd_tls_security_level因为有一个误导性的文章,说所有的smtp_值都被贬值,转而支持smtpd_

您的电子邮件未经encryption发送。 如果你只是想尽你所能,添加以下到您的main.cf

 smtp_tls_security_level = may 

要对发送给Google的电子邮件执行TLSencryption,请将其添加到main.cf中

 # Force TLS for outgoing server connection smtp_tls_policy_maps = hash:/etc/postfix/tls_policy smtp_tls_CApath = /etc/postfix/rootcas/ 

将/ etc / postfix / rootcas /replace为受信任的根CA的位置,并在/ etc / postfix / tls_policy add

 #/C=US/O=Equifax/OU=Equifax Secure Certificate Authority gmail.com secure ciphers=high google.com secure ciphers=high googlemail.com secure ciphers=high 

这将强制发送到gmail.com。,google.com和googlemail.com的电子邮件被encryption并validationSMTP服务器

如果您不想进行身份validation和encryption(这对于伪造证书的站点是必需的)使用

 gmail.com encrypt ciphers=high google.com encrypt ciphers=high googlemail.com encrypt ciphers=high 

之前重新启动后缀执行

 postmap /etc/postfix/tls_policy 

考虑关于SMTP的客户端/服务器关系,设置是有意义的:

2.1。 基本结构

SMTPdevise可以被描绘为:

  +----------+ +----------+ +------+ | | | | | User |<-->| | SMTP | | +------+ | Client- |Commands/Replies| Server- | +------+ | SMTP |<-------------->| SMTP | +------+ | File |<-->| | and Mail | |<-->| File | |System| | | | | |System| +------+ +----------+ +----------+ +------+ SMTP client SMTP server 

(Src:rfc5321.txt)

从而:

“smtp_tls_security_level”用于Postfix SMTP客户端。 请参阅: http : //www.postfix.org/postconf.5.html#smtp_tls_security_level

“smtp d _tls_security_level”用于Postfix SMTP服务器请参阅: http : //www.postfix.org/postconf.5.html#smtpd_tls_security_level

当postfix将邮件传输到Gmail时, smtp_tls_security_level设置是关联的设置。

当postfix通过smtp 接收邮件时, smtp d _tls_security_level设置是相关的。