Postfix 2.11.0,错误代码:中继访问被拒绝 554.5.7.1,拒绝所有外部入站电子邮件

Postfix 2.11.0,错误代码:中继访问被拒绝 554.5.7.1,拒绝所有外部入站电子邮件

这里需要一些 TLC。我正在按照此处的教程构建此 postfix/dovecot/clamav 邮件服务器:https://www.exratione.com/2014/05/a-mailserver-on-ubuntu-1404-postfix-dovecot-mysql/

我遇到了这个问题,花了很多时间却没有任何结果。邮件客户端可以正常访问此服务器,可以正常发送电子邮件,但是它不会接收/直接拒绝任何来自外部的入站电子邮件。

mail.log 中的错误消息是:

Oct  7 12:52:19 mail postfix/smtpd[7612]: NOQUEUE: reject: RCPT from mail-la0-f49.google.com[209.85.215.49]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-la0-f49.google.com>

这是我的 postconf -n 结果:

    append_dot_mydomain = no
    biff = no
    broken_sasl_auth_clients = yes
    config_directory = /etc/postfix
    content_filter = amavis:[127.0.0.1]:10024
    disable_vrfy_command = yes
    dovecot_destination_recipient_limit = 1
    enable_original_recipient = no
    header_checks = regexp:/etc/postfix/header_checks
    inet_interfaces = all
    mailbox_size_limit = 0
    maximal_backoff_time = 8000s
    maximal_queue_lifetime = 7d
    minimal_backoff_time = 1000s
    mydestination =
    myhostname = mail.ncullc.com
    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    mynetworks_style = host
    myorigin = /etc/hostname
    readme_directory = no
    recipient_delimiter = +
    smtp_helo_timeout = 60s
    smtp_tls_note_starttls_offer = yes
    smtp_tls_security_level = may
    smtpd_banner = $myhostname ESMTP $mail_name
    smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org
    smtpd_data_restrictions = reject_unauth_pipelining
    smtpd_delay_reject = yes
    smtpd_hard_error_limit = 12
    smtpd_helo_required = yes
    smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit
    smtpd_recipient_limit = 16
    smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, permit
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_sasl_local_domain =
    smtpd_sasl_path = private/auth
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_type = dovecot
    smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit
    smtpd_soft_error_limit = 3
    smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
    smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
    smtpd_tls_loglevel = 1
    smtpd_tls_received_header = yes
    smtpd_tls_security_level = may
    smtpd_tls_session_cache_timeout = 3600s
    tls_random_source = dev:/dev/urandom
    unknown_local_recipient_reject_code = 450
    virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/mysql_virtual_alias_domainaliases_maps.cf
    virtual_gid_maps = static:8
    virtual_mailbox_base = /var/vmail
    virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
    virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/mysql_virtual_mailbox_domainaliases_maps.cf
    virtual_transport = dovecot
    virtual_uid_maps = static:150

这是我的 dovecot -n 结果:

    # 2.2.9: /etc/dovecot/dovecot.conf
    # OS: Linux 3.13.0-36-generic x86_64 Ubuntu 14.04.1 LTS ext3
    auth_mechanisms = plain login
    first_valid_uid = 150
    last_valid_uid = 150
    mail_gid = mail
    mail_location = maildir:/var/vmail/%d/%n
    mail_uid = vmail
    namespace inbox {
      inbox = yes
      location =
      mailbox Drafts {
        special_use = \Drafts
      }
      mailbox Junk {
        special_use = \Junk
      }
      mailbox Sent {
        special_use = \Sent
      }
      mailbox "Sent Messages" {
        special_use = \Sent
      }
      mailbox Trash {
        special_use = \Trash
      }
      prefix =
    }
    passdb {
      args = /etc/dovecot/dovecot-sql.conf.ext
      driver = sql
    }
    postmaster_address = [email protected]
    protocols = " imap pop3"
    service auth {
      unix_listener /var/spool/postfix/private/auth {
        group = postfix
        mode = 0666
        user = postfix
      }
      unix_listener auth-userdb {
        group = mail
        mode = 0666
        user = vmail
      }
    }
    ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
    ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key
    userdb {
      args = /etc/dovecot/dovecot-sql.conf.ext
      driver = sql
    }

当我从 Gmail 发送电子邮件时,它会立即退回电子邮件并显示 554 5.7.1 错误代码。

我尝试过对比 smtpd_relay_restrictions 与 smtpd_recipient_restrictions,但没有得到积极的结果。

谢谢,韦恩

答案1

我看到您的邮件mydestination是空的;这可能是您的问题。如果目标域(@收件人地址中签名后的部分)在 中列出,服务器将仅接受邮件作为“传入” mydestination。否则,服务器会认为“此域不在,mydestination因此邮件不是给我的,我只会转发它”。

因此,添加mydestination = $mydomain到您的main.cf

相关内容