Forum Linux.débutant Relais de mails via PostFix

Posté par  .
Étiquettes :
0
21
jan.
2011
Bonjour à tous,

J'ai réussi tant bien que mal à installer et configurer POSTFIX. Ca a l'air de marcher en local (je recois bien mes mails dans mes hôtes virtuels avec sendmail).

Mais en fait le but de mon postfix est de recevoir les mails du domaine
info@domaine.com
et de les envoyer vers
info.domaine@gmail.com

Le truc c'est que je ne reçoit absoluement rien sur mon serveur postfix lorsque j'écris un mail à info@domaine.com

Aucune entrée n'arrive dans les logs.
[code]
Fichier main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# 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 (Ubuntu)
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

#gestion des mailboxes virtuelles
#virtual_mailbox_domains = hash:/etc/postfix/vdomains
virtual_alias_maps = hash:/etc/postfix/valiases
virtual_mailbox_base = /var/vmailboxes
virtual_mailbox_maps = hash:/etc/postfix/vmailboxes
virtual_mailbox_domains = domaine.com
virtual_uid_maps = static:107
virtual_gid_maps = static:8
### 200 Mo ( a peu pres )
virtual_mailbox_limit = 0
local_recipient_maps = proxy:unix:passwd.byname $alias_maps $virtual_mailbox_maps

alias_maps = hash:/etc/postfix/aliases


#Auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes




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

myhostname = domaine.com
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
#0.0.0.0/0
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
default_transport = smtp
relay_transport = smtp
inet_protocols = ipv4

[/code]

Si vous voulez d'autres précisions n'hésitez pas. Je n'ai pas trop l'habitude des forums linux ;)

Rude
  • # MX ?

    Posté par  . Évalué à 1.

    L'enregistrement MX pour "tondomaine.com" est il bien défini ?
  • # Et en telnet ?

    Posté par  . Évalué à 4.

    - As tu essayé d'envoyer un mail en telnet pour voir si il accepte ou pas le mail, si il le refuse, bref tous les codes d'erreur au milieu (ou alors simplement un sniffer wireshark, tu lance le mail, tu attends qu'il y ait du traffic sur ton port 25).

    - As tu ouvert les ports du firewall ? (je sais pas d'ou vient le premier mail)

    - Que disent les logs sur le message que tu recois sur info@domaine.com ?
  • # Exemples canoniques

    Posté par  (site web personnel) . Évalué à 3.

    Pour info, il existe des noms de domaine dédiés aux exemples : example.com, example.net, example.org, et un TLD, .example. À utiliser plutôt que d'inventer des noms qui risquent d'exister déjà.
  • # OK

    Posté par  . Évalué à 1.

    En bidouillant je ne sais trop quoi j'ai réussi à faire fonctionner mon petit serveur.

    Par contre j'ai essayé de recréer les deux autres boites mails et je n'en ai qu'une qui marche.

    Apparement celle qui marche envoi le mail à gmail comme ca

    [code]
    stock postfix/smtp[2699]: 866D980125: to=<info.domaine@gmail.com>, orig_to=<info@domaine.com>, relay=gmail-smtp-in.l.google.com[209.85.229.27]:25, delay=0.68, delays=0.07/0/0.11/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1295626884 z43si15262343weq.205)
    [/code]

    Et ceux qui ne sont pas parti (j'envoi aux 3boites en même temps)

    [code]
    stock postfix/virtual[3186]: 8EE9B80125: to=<ensavoirplus@domaine.com>, relay=virtual, delay=0.08, delays=0.07/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
    [/code]

    Alors je vois qu'il y'a marqué VIRTUAL alors que sur la ligne qui marche il y a écrit SMTP

    Est-ce que ca vous parle ?

    Rude

    PS : dsl je ne saurais trop quoi vous dire ce que j'ai touché pour que mes mails arrivent sur le PC.
    • [^] # Re: OK

      Posté par  (site web personnel) . Évalué à 3.

      C'est très clair, le message qui « ne marche pas » est livré par le transport virtual(8), qui est fait pour les mettre dans des boîtes aux lettres locales. S'il fait ça, c'est que tu lui as demandé.
      • [^] # Re: OK

        Posté par  . Évalué à 1.

        Re-bonjour et merci pour le coup de main.

        Comment pourrais-je lui avoir demandé ca sur une boite en particulier ?

        Parce que j'ai juste modifié les fichiers virtuels et les alias et j'ai refait mon postmap.

        Comment une boite peut elle marcher mais pas les autres. c'est ca que je ne comprend pas.
        • [^] # Re: OK

          Posté par  . Évalué à 3.

          Comment pourrais-je lui avoir demandé ca sur une boite en particulier ?

          Parce que j'ai juste modifié les fichiers virtuels et les alias et j'ai refait mon postmap.

          Comment une boite peut elle marcher mais pas les autres. c'est ca que je ne comprend pas.


          ben justement, à cause des ces fichiers,
          si on voit comment tu a ecris ces fichiers (ou si tu compares avec les exemples fournis) tu pourra comprendre ou est ton erreur
          • [^] # Re: OK

            Posté par  . Évalué à 1.

            Bonjour,

            Au niveau des alias voici ce que j'ai écris :

            [code]
            boite@domaine.com boite.boite@gmail.com
            boite2@domaine.com boite2.boite@gmail.com

            [/code]

            C'est à dire juste un retour à la ligne et une ligne vide à la fin.
          • [^] # Re: OK

            Posté par  . Évalué à 1.

            Bonjour,

            Alors dans ces fichiers j'ai juste mis un retour à la ligne entre chaque boite et une ligne vide à la fin. Ca ressemble à quelque chose comme ca

            [code]
            boite@domaine.com boite@gmail.com
            boite2@domaine.com boite2@gmail.com

            [/code]

            Faut il mettre des points virgules à la fin des lignes ? Faut il juste faire une tabulation entre l'adresse domaine et l'adresse gmail ?
            • [^] # Re: OK

              Posté par  . Évalué à 2.

              si j'en crois la page de manuel de aliases (man aliases)
              An alias definition has the form name: value1, value2, ...

              ensuite apres avoir modifier le fichier /etc/aliases
              il faut faire la commande newaliases ou postalias

              bref, ton fichier alias est presque bon, sauf qu'il faut un : entre l'adresse d'entrée et celle vers laquelle tu renvoies.
              • [^] # Re: OK

                Posté par  . Évalué à 1.

                Bonjour et merci de ta réponse.

                Je viens de réaliser que dans le fichier j'avais deux appels d'alias dans mon fichier main.cf.
                alias_maps = hash:/etc/postfix/aliases
                et
                alias_maps = hash:/etc/aliases

                Je n'ai pas du tout touché le /etc/aliases je ne pensais pas qu'il s'en servait vu qu'il y'a /etc/postfix/aliases
                • [^] # Re: OK

                  Posté par  . Évalué à 1.

                  (erf je n'arrive pas à éditer).

                  et dans le fichier d'alias j'ai ca :

                  [code]
                  postmaster: root

                  [/code]
  • # Stop : RTFM

    Posté par  (site web personnel) . Évalué à 3.

    Il serait temps d'arrêter d'essayer de dépanner ce qui m'a l'air d'être une configuration écrite sans comprendre. Tu parles de concepts de Postfix que tu as l'air de ne pas connaître du tout.

    Le mieux serait à mon avis de repartir de zéro en commençant par te documenter. Avec la documentation officielle, pas avec un tutoriel approximatif pas tout à fait correct ni tout à fait adapté.

    http://postfix.traduc.org/
    • [^] # Re: Stop : RTFM

      Posté par  . Évalué à 1.

      Re-bonjour.

      Je suis effectivement débutant et j'ai tout pris de zéro.

      J'ai donc pris la doc que tu me montre et j'ai avancé comme tel.
      J'ai donc installé postfix et dovecot
      Configuré le MX
      Modifié le fichier main.cf pour pouvoir utiliser des utilisateurs virtuel.
      J'ai créer un seul de mes 3utilisateurs en créant des boites virtuels et des comptes virtuels.
      J'ai rajouté l'utilisateur dans dovecot (même si ca je crois que ca ne servait à rien).
      J'ai réussi à le faire marcher.
      J'ai rajouter mes deux autres utilisateurs et ca ne marche plus.
      Au lieu d'avoir des "stock postfix/smtp" avec le mail=sent
      j'ai des "stock postfix/virtual".

      Je ne comprend en effet pas tout ce que je fais même quand je lis ca (je fais ca pour le boulot mais normalement ce n'est absolument pas dans mes attributions mais il faut que je le fasse quand même).

      Ce que je dois faire est la chose suivante :
      - Un mail est envoyé sur boite@domaine.com
      - Il arrive sur mon serveur dédié @domaine.com
      - Il doit renvoyer les mails sur des adresses gmail.

      Je suis bloqué à la troisième étape.

      C'est peut être plus clair pour pouvoir m'aider ? Je l'espere pour moi :)

      Rude
      • [^] # Re: Stop : RTFM

        Posté par  (site web personnel) . Évalué à 2.

        J'imagine que tu es dans le cas [http://postfix.traduc.org/index.php/VIRTUAL_README.html#virt(...)] : Postfix reçoit les messages pour un nom de domaine et les place lui-même dans des boîtes aux lettres « virtuelles », c'est à dire ne correspondant pas à des comptes Unix.

        Dans ce cas, si tu veux qu'une adresse donnée n'ait pas de boîte aux lettres, mais soit à la place un alias, tu dois mettre cet alias dans une table d'alias virtuels.

        Si je n'ai pas bien compris ton besoin, explique-le, sans rentrer dans le détail de l'implémentation que tu en as faite. Je veux savoir ce que tu veux faire, pas comment tu l'as (mal, puisque ça ne marche pas) mis en œuvre.
      • [^] # Re: Stop : RTFM

        Posté par  (site web personnel) . Évalué à 2.

        Par ailleurs, j'ai l'impression qu'en fait tu n'as pas du tout besoin de boîtes aux lettres, et que tu veux en fait que toutes tes adresses soient des alias.

        Si c'est le cas, laisse tomber Dovecot, il ne te servira pas puisque c'est un serveur de boîtes aux lettres. Et laisse tomber les boîtes aux lettres virtuelles, tu n'en auras pas besoin non plus.
        • [^] # Re: Stop : RTFM

          Posté par  . Évalué à 1.

          C'est exact je suis dans ce cas la.
          J'ai donc créé
          - virtual_alias_maps
          - virtual_mailbox_maps

          Enfin tout ce que tu peux voir dans mon main.cf

          Je ne vois pas vraiment ce que tu veux que je détail mais je vais faire de mon mieux.
          Mes mails sont bien créés dans mes dossiers "virtual_mailbox_base"
          et je vois bien mes mails tomber dans
          /var/vmailboxes/domaine/boite/new

          J'aimerai bien que le pingouin les poussent dans le lance-mail en visant google.

          Mais d'après ce que j'ai cru comprendre. Mon système gère tout en local et non en virtuel (ce qui me permettrait de faire partir les mails ailleurs) mais je pige encore moins quand je vois qu'il sont envoyé en virtual localement (mes lignes de logs). Ca dépasse mon maigre savoir linuxien.
          • [^] # Re: Stop : RTFM

            Posté par  . Évalué à 1.

            hum... je vais la refaire en plus simple.

            => L'utilisateur envoie un mail à boite@domaine.com
            => Ca arrive sur le serveur www.domaine.com
            => www.domaine.com renvoit le mail dans boite.domaine@gmail.com
            => La personne répond après avec googlemail

            Voila.

            Moi j'en suis à la deuxième flèche.
            • [^] # Re: Stop : RTFM

              Posté par  (site web personnel) . Évalué à 2.

              1. www.domaine.com. c'est nul comme nom de machine, c'est un nom de service ça.
              2. Laisse tomber Dovecot et les boîtes aux lettres virtuelles manifestement tu n'en as pas besoin, tout ce que tu veux c'est des alias.
              3. Tu as foiré ta configuration, repart à zéro, en particulier débarasse-toi de ces boîtes aux lettres dont tu n'as pas besoin.
              4. Utilise des alias virtuels et seulement ça, cf. [http://postfix.traduc.org/index.php/ADDRESS_REWRITING_README(...)].

              Concrètement, dans /etc/postfix/main.cf, en supposant que ton nom de domaine est example.com et que ta machine s'appelle toto.example.com :

              # [ce qu'il y a de base dans la configuration proposée par ta distribution]
              mydestination = toto.example.com # et surtout pas example.com
              virtual_domains = example.com
              virtual_alias_maps = hash:/etc/postfix/virtual/example.com


              Et dans /etc/postfix/virtual/example.com, à postmap'er :

              boite@example.com boite.example@gmail.com
              • [^] # Re: Stop : RTFM

                Posté par  . Évalué à 1.

                Ok je vais essayer ca.

                Pour info quand tu dis www.domaine.com c'est nul comme nom de machine c'est juste que j'ai pas envie d'écrir de véritables données. Que ce soit le nom réel de la machine son adresse IP ou son domaine.
                C'est normal...

                Par contre je veux bien essayer bêtement ce que tu écris mais... pourrait tu m'expliquer en quoi c'est différent de la méthode que j'utilisais. Car je préfèrerais comprendre.

                Merci en tout cas. Je te tiens au courant.
                • [^] # Re: Stop : RTFM

                  Posté par  . Évalué à 1.

                  Ah et donc pour le nom de la machine genre je met

                  "adresse IP".example.com
                  ou
                  nsXXXXXX.ovh.net.example.com

                  C'est bien ca ?
                  • [^] # Re: Stop : RTFM

                    Posté par  . Évalué à 1.

                    Alors ca avance.

                    Maintenant quand j'envoie un mail via sendmail
                    sur boite@domaine.com

                    je recoit bien mon mail sur sendmail.

                    Si je l'envoi de mon adresse du taf le serveur Exchange me répond :
                    "L'organisation suivante a refusé votre message : domaine.com"

                    Si je l'envoi de ma boite hotmail je recoit un mail postmaster
                    "Delivery to the following recipients failed".

                    De plus maintenant dans les logs j'ai pleins de mecs qui essayent d'envoyer des mails via mon serveur.

                    Je continue de creuser et je te tiens au courant.
                    • [^] # Re: Stop : RTFM

                      Posté par  . Évalué à 1.

                      Okay et bah c'est bon j'ai refait avec ta méthode en jouant avec divers parametres de "smtpd' et ca fonctionne bien.

                      Je peux envoyer des mails de partout.

                      Une dernière question. Lorsque je fais répondre à partir de Gmail. C'est GMAIL qui envoie on est d'accord. Il n'y a plus aucune liaison avec mon serveur non ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.