web-dev-qa-db-fra.com

Postfix envoie au nom d'hôte FQDN au lieu d'un nom de domaine

J'ai installé un postfix d'envoi seulement. Postfix fonctionne lorsque j'envoie un courrier à une adresse électronique complète. Toutefois, si un courrier envoyé à un utilisateur, il ajoute le nom de la FQDN comme poste d'extension au lieu du nom de domaine que j'ai configuré lors de l'installation.

Par exemple, lorsque j'envoie un courrier de SSH comme ceci:

echo "This will go into the body of the mail." | mail -s "Hello world" root

Je veux que le courrier aille à [email protected]. Mais l'email est envoyé à [email protected].

J'ai examiné mes paramètres d'hôte, les paramètres de mailname, les paramètres Postfix et je n'ai aucune idée de la raison pour laquelle il conserve l'ajout du nom d'hôte complet qui est évidemment rebondi. Voici mes fichiers de configuration:

postfix main.cf:

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = Host.example.com.au
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination =
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

virtual_alias_maps = hash:/etc/postfix/virtual

Alias ​​:

mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root

/ etc/postfix/virtuel :

root            [email protected]

/ etc/mailame :

example.com.au

/ etc/hosts :

127.0.0.1       localhost
11x.0.0.xxx   Host.example.com.au    Host

/ etc/hostname

Host

J'ai tout passé en revue et je n'ai aucune idée de la raison pour laquelle le courrier envoyé à @Host.example.com.au. Quelqu'un peut-il m'aider ici s'il vous plaît?

Je suis sur Debian 8.

Edit : Just maintenant, j'ai essayé d'ajouter un réglage supplémentaire sur le fichier main.cf: masquerade_domains = $mydomain. L'ajout de cela semble corriger l'adresse from pour afficher mon nom de domaine au lieu de nom d'hôte, mais l'adresse to est toujours au nom de la FQDN. Je reçois le courrier électronique "Système de livraison du courrier" sur mon adresse e-mail depuis mon adresse e-mail depuis que l'e-mail d'origine est maintenant juste après avoir ajouté le masquerade_domains, mais je ne peux toujours pas m'empêcher de la tête pourquoi l'email de l'utilisateur ne respecte pas la même et l'adresse to est toujours traitée comme [email protected] à la place de [email protected].

myhostname = Host.example.com.au
mydomain = example.com.au
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
masquerade_domains = $mydomain
mydestination =
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
5
Neel

Enfin, ça marche. Ce sont les étapes que j'ai faites pour résoudre mes problèmes:

1) MyDestination :

Depuis que j'ai eu un serveur de messagerie envoyé uniquement, j'ai quitté mydestination dans main.cf Fichier vide selon la page Postfix Man. Cependant, faire le fait que le comportement ci-dessus, les courriels locaux sont envoyés avec un nom d'hôte annexe qui se faisait rebondir. Donc j'ai ajouté $hostname et localhost comme mydestination in main.cf comme ça:

mydestination = $myhostname, localhost

2) alias :

Ensuite, j'ai ajouté l'adresse e-mail pour l'utilisateur root dans /etc/aliases comme ça:

root: [email protected]

) NEWALIASES :

Enfin, je reconstruit des alias et postfix rechargés

Sudo newaliases
Sudo service postfix reload

Qu'est-ce qui est réparé :

Étant donné que les alias sont utilisés uniquement pour la livraison locale et je n'ai pas de livraison locale (signifiant $ mydestination étant vide), avoir l'adresse e-mail racine dans les aliases n'a fait aucune différence. Maintenant après avoir ajouté le $hostname à ma destination, tout emails envoyé à un utilisateur qui devait être annexé avec $hostname est devenu ramassé comme $mydestination Cela fait ensuite référence à aliases qui indique finalement au postfix de livrer ce courrier électronique à une autre adresse électronique.

Ce que je ne comprends toujours pas, c'est pourquoi le postfix ignorait le $domainname comme myorigin en premier lieu et que l'ajout hostname suffixe à l'utilisateur est toujours un mystère. Cependant, la méthode ci-dessus semblait être la solution lorsque Postfix est adontifié pour ajouter hostname à tous les mails adressés directement à l'utilisateur.

J'espère que cela t'aides!

2
Neel

Vous devez mettre un alias pour root dans le /etc/aliases Fichier comme ci-dessous, puis exécutez newaliases _ et cela devrait fonctionner.

root: [email protected]

Je l'ai testé et ça marche.

3
Diamond