我有问题后缀通过SSL从外部邮件发送邮件。 我在我的服务器上configuration了postfix与MySQLconfiguration了几个域设置。 当我发送邮件与我的主域名domain1.com一切正常,但如果从domain2.com发送邮件我把这个到我的日志:
请注意,如果我在Web邮件上禁用SSL,它将起作用。
connect from unknown[78.209.78.XXX] timeout after UNKNOWN from unknown[78.209.78.XXX] disconnect from unknown[78.209.78.XXX]
这是我的main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no disable_vrfy_command = yes smtpd_helo_required = yes append_dot_mydomain = no mydomain= domain1.com myhostname = domain1.com myorigin = $mydomain mydestination = XXX.kimsufi.com, localhost.kimsufi.com, localhost mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 alias_maps = hash:/etc/aliases queue_directory = /var/spool/postfix mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all virtual_mailbox_domains = mysql:/etc/postfix/mysql/mailbox-domains.cf virtual_mailbox_base = /home/vmail virtual_mailbox_maps = mysql:/etc/postfix/mysql/mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql/alias-maps.cf virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 smtpd_use_tls = yes smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes tls_random_source = dev:/dev/urandom mail local si actif smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_policy_service unix:private/policy, # SPF permit #check_relay_domains smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/authnoactive, mutual_auth broken_sasl_auth_clients = yes # DKIM milter_default_action = accept milter_protocol = 6 smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = inet:127.0.0.1:8891
请注意,在webmail上,我已经将smtp服务器设置为mail.domain1.com,因为我已经阅读过我必须使用在tls证书中定义为通用名称的域。
我想要的是使它与SSL的工作。 任何想法,为什么它不工作?
编辑
这是新的信息:
似乎这个问题与domain1或domain2没有关系,只是在新的configuration下才会发生。 我有一个超过一年的设置域,一切工作正常。 我从我的webmail中删除它,并重新configuration它,现在,我无法发送邮件。
当我configuration它时,我看到它要求我使用我的https证书,而不是后缀。 所以也许问题来自那里,但我不知道如何解决它。
这是我的apache conf:
<VirtualHost _default_:80> include /etc/apache2/domain.conf </VirtualHost> <VirtualHost _default_:443> include /etc/apache2/domain.conf SSLEngine on SSLCertificateFile /etc/apache2/ssl/cert-domain.com.crt SSLCertificateKeyFile /etc/apache2/ssl/domain.com.key SSLCACertificateFile /etc/apache2/ssl/GandiStandardSSLCA.pem SSLVerifyClient None </VirtualHost>
另外,如果我做openssl s_client -connect localhost:465我明白了:
CONNECTED(00000003) 11508:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:607:
我不知道自签名证书是否正常。
Postfix不在端口465上的smtpd_tls_wrappermode进行监听,而是作为标准的smtp服务器进行监听。
您的master.cf应该包含一个(多部分)行似乎是
smtps inet n – n – – smtpd
-o syslog_name = postfix / smtps
-o smtpd_tls_wrappermode =是
-o smtpd_sasl_auth_enable =是
-o smtpd_client_restrictions = permit_sasl_authenticated,拒绝
但是,它可能只有
smtps inet n – n – – smtpd