web-dev-qa-db-fra.com

Postfix 2.11.0, Code d'erreur: Accès au relais refusé 554.5.7.1, Rejette tous les courriels entrants externes.

Certains TLC nécessaires ici. Je construis ce serveur de courrier postfix/dovecot/clamav en suivant le tutoriel ici: https://www.exratione.com/2014/05/a-mailserver-on-ubuntu-1404-postfix-dovecot-mysql/

Le problème que j'ai rencontré et j'ai passé des heures et des heures sans résultat. Les clients de messagerie ont accès à ce serveur, ce qui permet d’envoyer des courriels correctement. Toutefois, il ne prendra pas/ne rejettera pas directement les courriels entrants de l’extérieur.

Le message d'erreur de mail.log est:

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>

Voici mon postconf -n résultat:

    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

Voici mon pigeonnier -n résultat:

    # 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
    }

Lorsque j'envoie des courriers électroniques à partir de Gmail, celui-ci est immédiatement renvoyé et crache le code d'erreur 554 5.7.1.

J'ai essayé de jouer avec smtpd_relay_restrictions vs smtpd_recipient_restrictions un peu, n'a aucun résultat positif.

Merci, Wayne

1
Wayne

Je vois que votre mydestination est vide; c'est probablement votre problème. Le serveur n'acceptera le courrier comme "entrant" que si le domaine de destination (la partie après le signe @ dans l'adresse du destinataire) est répertorié dans mydestination. Sinon, le serveur pense que "ce domaine n'est pas dans mydestination, donc le courrier n'est pas pour moi, je vais simplement le relayer".

Ajoutez donc mydestination = $mydomain à votre main.cf.

0
fkraiem