Je viens d'installer Postfix sur mon Ubuntu, sur un réseau local.
Sur ce réseau, j'ai un serveur Exchange (utilisant un domaine mail.example.com
). J'ai rencontré un problème lors de l'envoi d'un e-mail à une adresse locale [email protected]
::
relay=none, delay=0.01, delays=0.01/0/0/0, dsn=4.3.5, status=deferred
(Host or domain name not found. Name service error for name=example.com
type=AAAA: Host found but no data record of requested type)
J'ai résolu ce problème en utilisant relay_domain
dans mon Postfix main.cf
:
relay_domains = example.com
transport_maps = hash:/etc/postfix/transport
Et dans mon /etc/postfix/transport
:
example.com smtp:[mail.example.com]
Maintenant, je peux envoyer des mails @example.com
et j'ai testé certains des principaux webmails (Gmail, Yahoo, Hotmail ...). Ça marche. Mais pourquoi j'ai cette erreur sur mes adresses @example.com
? Comment puis-je être sûr de ne jamais trouver cette erreur sur un autre domaine?
Ma configuration Postfix est:
postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = SRVWEB, localhost.localdomain, localhost
myhostname = SRVWEB
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relay_domains = mutuelle-var.fr
relayhost =
smtp_generic_maps = hash:/etc/postfix/generic
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport
Réponses:
Votre serveur essaie d'utiliser IPv6 lors de l'envoi du courrier. Étant donné que le
mail.example.com
n'a pas d'enregistrement AAAA (qui est identique à un enregistrement A, mais pour IPv6), cela ne fonctionne pas.Si vous voulez que Postfix n'utilise jamais IPv6, vous pouvez changer cela dans le fichier de configuration, comme expliqué dans la page de manuel postconf (5):
Si vous souhaitez le modifier pour ce domaine uniquement, modifiez votre carte de transport pour lire
la source
inet_protocols = all
ne cherche pas uneA
recherche si uneAAAA
recherche échoue, ce qui semble inutile. De plus, si vous modifiez cette valeur, vous devez redémarrer postfix, pas seulement recharger.La configuration simple de Postfix qui a fonctionné pour moi.
la source
Le changement suivant dans /etc/postfix/main.cf a résolu le problème pour moi.
Remplacez ce qui précède par
la source