Petit probleme avec Postfix

Bonjour à tous !

Voilà, j’ai un petit problème avec un serveur de mail que je viens d’installer.

J’ai un nom de domaine internet en ma-societe.fr

ping ma-societe.fr = ok (et mon site internet marche, sur le même nom de domaine, et le même serveur).

mon postfix tourne visiblement bien en tache de fond :

[code]telnet ma-societe.fr 25

220 ma-societe.fr ESMTP Postfix
[/code]

Si je configure dans /etc/postfix/main.cf mon “myorigin” sur “mail.ma-societe.fr”, je peux m’envoyer un mail depuis gmail par exemple en mettant comme destinataire :
boulate@mail.ma-societe.fr , l’utilisateur “boulate” reçoit bien le mail.

Le problème, c’est que je souhaiterai un mail simple en : boulate@ma-societe.fr , et je n’y arrive pas.

Si je passe mon “myorigin” à “ma-societe.fr”, gmail me retourne ce mail :

[quote]Delivery to the following recipient failed permanently:

[boulate@ma-societe.fr](mailto:boulate@ma-societe.fr)

Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 550 550 boulate@ma-societe.fr: invalid address (state 14).[/quote]

Je suis un peu perdu, à force de tests, je me suis égaré, et ne sais plus trop par quel bout prendre le problème.

Je vous joins mon fichier de configuration postfix au cas où :

grep -v # /etc/postfix/main.cf

[code]
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix

mail_owner = postfix

myhostname = ma-societe.fr # Je ne vois pas quoi mettre d’autre … je suis directement sur internet et ma machine se nomme "ma-societe"
mydomain = ma-societe.fr
myorigin = ma-societe.fr

inet_interfaces = $myhostname, localhost

mydestination = mail.$myhostname, $myhostname

unknown_local_recipient_reject_code = 550
mynetwork = all
sender_canonical_maps = hash:/etc/postfix/canonical

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/

debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
inet_protocols = ipv4[/code]

Petite précision, j’ai installé Dovecot comme serveur Imap, et il a l’air d’être joignable également :

[code]telnet ma-societe.fr 143
Trying 80.80.80.80…
Connected to ma-societe.fr.
Escape character is ‘^]’.

  • OK Dovecot ready.[/code]

Que donne un

Tu dois avoir un champ spécifique pour les MX.

et peux-tu poster un

Je pense que ta directive mydestination n’est pas bonne.

Par ailleurs ton fichier m’a l’air un peu brouillon et pas mal de directives ne sont pas forcement utiles.

Tu devrais lire
postfix.traduc.org/index.php/STA … EADME.html

Et pour aller plus loin et comprendre chaques directives
postfix.traduc.org/index.php/postconf.5.html

merci Kippix2 !

Pour le fichier de conf, je suis parti de l’original (celui livré directement avec postfix).

[code]$ host -t mx monDomaine.fr

monDomaine.fr mail is handled by 10 mx00.1and1.fr.
monDomaine.fr mail is handled by 10 mx01.1and1.fr.[/code]
(Je suis hébergé chez 1and1)

postsuper -v

postsuper: dict_eval: const  mail
postsuper: dict_eval: const  ipv4
postsuper: name_mask: ipv4
postsuper: dict_eval: const  ma-societe.fr
postsuper: dict_eval: const  ma-societe.fr
postsuper: dict_eval: const  Postfix
postsuper: dict_eval: const  postfix
postsuper: dict_eval: const  postfix
postsuper: dict_eval: const  postdrop
postsuper: dict_eval: expand mail.$myhostname, $myhostname, toto.$mydomain, www.ma-societe.fr -> mail.ma-societe.fr, ma-societe.fr, toto.ma-societe.fr, www.ma-societe.fr
postsuper: dict_eval: const  ma-societe.fr
postsuper: dict_eval: const  
postsuper: dict_eval: const  /usr/libexec/postfix
postsuper: dict_eval: const  /usr/sbin
postsuper: dict_eval: const  /var/spool/postfix
postsuper: dict_eval: const  pid
postsuper: dict_eval: expand $myhostname, localhost -> ma-societe.fr, localhost
postsuper: dict_eval: const  
postsuper: dict_eval: const  double-bounce
postsuper: dict_eval: const  nobody
postsuper: dict_eval: const  hash:/etc/aliases
postsuper: dict_eval: const  200600825
postsuper: dict_eval: const  2.3.3
postsuper: dict_eval: const  hash
postsuper: dict_eval: const  deferred, defer
postsuper: dict_eval: const  
postsuper: dict_eval: expand $mydestination -> mail.ma-societe.fr, ma-societe.fr, toto.ma-societe.fr, www.ma-societe.fr
postsuper: dict_eval: expand $relay_domains -> mail.ma-societe.fr, ma-societe.fr, toto.ma-societe.fr, www.ma-societe.fr
postsuper: dict_eval: const  TZ MAIL_CONFIG LANG
postsuper: dict_eval: const  MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C
postsuper: dict_eval: const  subnet
postsuper: dict_eval: const  
postsuper: dict_eval: const  +=
postsuper: dict_eval: const  -=+
postsuper: dict_eval: const  debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
postsuper: dict_eval: const  
postsuper: dict_eval: const  bounce
postsuper: dict_eval: const  cleanup
postsuper: dict_eval: const  defer
postsuper: dict_eval: const  pickup
postsuper: dict_eval: const  qmgr
postsuper: dict_eval: const  rewrite
postsuper: dict_eval: const  showq
postsuper: dict_eval: const  error
postsuper: dict_eval: const  flush
postsuper: dict_eval: const  verify
postsuper: dict_eval: const  trace
postsuper: dict_eval: const  
postsuper: dict_eval: const  2
postsuper: dict_eval: const  100s
postsuper: dict_eval: const  100s
postsuper: dict_eval: const  100s
postsuper: dict_eval: const  100s
postsuper: dict_eval: const  3600s
postsuper: dict_eval: const  3600s
postsuper: dict_eval: const  100s
postsuper: dict_eval: const  100s
postsuper: dict_eval: const  1000s
postsuper: dict_eval: const  1000s
postsuper: dict_eval: const  10s
postsuper: dict_eval: const  10s
postsuper: dict_eval: const  1s
postsuper: dict_eval: const  1s
postsuper: dict_eval: const  1s
postsuper: dict_eval: const  1s
postsuper: dict_eval: const  500s
postsuper: dict_eval: const  500s
postsuper: dict_eval: const  18000s
postsuper: dict_eval: const  18000s
postsuper: dict_eval: const  1s
postsuper: dict_eval: const  1s
postsuper: name_mask: subnet
postsuper: inet_addr_local: configured 3 IPv4 addresses
postsuper: been_here: 127.0.0.0/8: 0
postsuper: been_here: 80.80.80.80/32: 0
postsuper: mynetworks: 127.0.0.0/8 80.80.80.80/32 
postsuper: dict_eval: const  127.0.0.0/8 80.80.80.80/32 
postsuper: queue: defer
postsuper: queue: bounce
postsuper: queue: maildrop
postsuper: queue: incoming
postsuper: queue: active
postsuper: queue: deferred
postsuper: queue: hold
postsuper: queue: flush

c’est sur mydestination qui inclut habituellement localhost.$mydomain localhost et qui doit contenir tous les suffixes pour lesquels ton serveur doit vérifier les noms qu’il faut jouer. là, tel que tu l’as configuré, mail.ma-societe.fr en fait bien partie, mais pas ma-societe.fr
Tu mets: myhostname = mail # c'est pour répondre à ta question, comme ça tu l'as ton nom d'hôte mydomain = ma-societe.fr myorigin = $mydomain (...) mydestination = $myhostname.$mydomain $myorigin localhost.$mydomain localhost (...)

sinon, j’ai pas tout épluché, mais j’ai remarqué:
tu as mis mynetwork au lieu de mynetworks.
De plus, pour ce paramètre, je n’ai jamais vu la valeur “all”, qui si il fonctionne risque de te faire blacklister dans l’heure comme “openrelay” pour peu qu’un malveillant puisse exploiter la faille que ça induit.
Normalement, c’est plutot un truc genre mynetworks = 127.0.0.0/8 $localIPsavec $localIPs un ou plusieurs réseau IP notés en CIDR, depuis lequel tu autorise le relay. Typiquement, 127.0.0.0/8 suffit.

Ton inet_interfaces est incorrect: ca doit être une liste d’adresses IP sur lesquelles on accepte les envois (l’adresse extérieure de ton serveur, et le localhost, entre autres)

Ouhaou, merci pour cette réponse complète.

Je modifie tout ca, et je te tiens au courant :stuck_out_tongue:

Merci encore !

EDIT : Je viens de relire ton post, et ca pose quelques problemes :

  • visiblement $mydomain doit être égale à $myhostname minus ton nom de machine. Donc $myhostname serait plus du genre : “mail.ma-societe.fr”.

J’ai déjà essayé, ca ne marche pas :’(

J’avais également essayé de mettre $mydestination directement sur “ma-societe.fr”, ca ne marchais pas.
En fait, qu’importe mon hostname, si dans $mydestination je mets “toto.ma-societe.fr”, je peux envoyer un mail à "boulate@toto.ma-societe.fr", ca marche. (Tu peux d’ailleurs voir que j’avais essayé avec “toto”).

Je peux mettre ce que je veux devant “ma-societe.fr” dans $mydestination, ca marche. Si je ne met rien, ca ne passe plus :frowning:

Pour ce qui est du “all”, je vais essayer de limiter ca, en effet, je ne veux pas me faire blacklister :stuck_out_tongue:

Je viens d’essayer à nouveau : Je rajoute “tintin.$mydomain” dans $mydestination, et je peux envoyer un mail depuis gmail à "boulate@tintin.ma-societe.fr", ca marche !

En fait, je peux vraiment mettre NIMPORTE quoi devant $mydomain dans $mydestination, ca marche, mais si je mets $mydomain seul, ca ne marche pas :frowning:

ma-societe.fr seule ne marche pas non plus d’ailleurs (dans $mydestination).

que donne postconf -d | grep my ?

postconf -d | grep my

append_at_myorigin = yes append_dot_mydomain = yes lmtp_lhlo_name = $myhostname local_transport = local:$myhostname milter_macro_daemon_name = $myhostname mydestination = $myhostname, localhost.$mydomain, localhost mydomain = domainepardefaut.fr myhostname = s15353464.domainepardefaut.fr mynetworks = 127.0.0.0/8 127.0.0.1/32 80.80.80.80/32 mynetworks_style = subnet myorigin = $myhostname parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks relay_domains = $mydestination smtp_helo_name = $myhostname smtpd_banner = $myhostname ESMTP $mail_name smtpd_client_event_limit_exceptions = ${smtpd_client_connection_limit_exceptions:$mynetworks} smtpd_proxy_ehlo = $myhostname smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Je ne sais pas… j’ai la même config et ça passe.
essayes d’ajouter $mydomain dans mydestination ?
sinon, je ne vois pas trop d’où peut venir le refus, sauf si l’user destinataire que tu utilises est absent, mais j’imagine que tu testes bien sur un login existant, sinon, ça ne marcherait pas dans les autres cas.

J’ai bien essayé d’ajouter “$mydomain” dans “mydestination”.

Rien n’y fait, si il n’a pas un xxxx.$mydomain, il ne veut pas.

L’utilisateur destinataire existe bien puisqu’un mail à "boulate@kkchose.ma-societe.fr" marche si je mets “kkchose.$mydomain” dans ma directive “mydestination”.

Help !

plus d’idée :frowning:

Help ! :frowning:

Je me permets de remonter ce poste, je suis toujours coincé.

Personne n’a jamais eu ce problème ? Personne de bien calé en postfix ?

Merci d’avance ! :smt006

Toujours personne ? Désolé, je suis toujours coincé :frowning: