Postfix

Bonjour,

je viens d'installer Postfix sur ma debian, j'arrive a envoyé des mails, du style utilisateurdebian@mondomain, or je n'arive pas a créer plusieurs compte pour un même utilisateur.

20 réponses

Résumé de la discussion

La problématique centrale est la configuration de Postfix sur Debian pour gérer plusieurs comptes associés à un même utilisateur, au-delà d’une seule adresse utilisateur@domaine, et les possibilités d’aliasing. Plusieurs éléments reviennent comme réponse: l’usage des alias via alias_maps, des canonical maps (canonical_maps, sender_canonical_maps et recipient_canonical_maps), et l’activation par postmap sur /etc/postfix pour activer les modifications. En pratique, l’accent est mis sur la synchronisation des fichiers main.cf et des maps, le choix entre canonical et sender_canonical selon le contexte, et le rechargement de postfix après postmap, en consultant sample-canonical.cf pour guider.

Bobot (l’IA à votre service)
  1. Je pense qu'il suffit de rajouter des alias dans le fichier /etc/postfix/aliases

    Dans ce fichier tu trouveras les alias existant déjà pour root... çà suffira pour comprendre comment çà marche!
    1. j'ai bien modifier etc/aliasses,

      mais j'ai pas eu de resultat
      1. postalias hash:/etc/postfix/aliases
        postfix reload
      2. comment ça tu ne vois pas où je veux en venir?

        je t'ai passé les commandes directement! que veux-tu de plus? comment pourrais-je être plus clair?

        et le webmaster de machin bidule dit d'énormes conneries. Tu peux lui dire de ma part. D'autre part, si tu avais _vraiment_ regardé ton fichier aliases, tu aurais pu lui répondre ça toi-même

        pour info, l'un de mes comptes utilisateur a 31 alias
      3. oh et d'ailleurs RTFM!
      4. c'est quand même dingue, ça!

        un vulgaire man postalias et un man postfix et t'aurais très bien su où je "voulais en venir"
    2. ne le prend pas comme ça, j'ai essayé ta commende mais cela n'a rien données
      moi le fichier aliasses il est dans etc/

      concernant au webmaster du site voilà ce qui ma répondu

      " Bonjour,

      Postfix est un agent de transfert de messages, pas un gestionnaire de
      boîtes-aux-lettres. Par défaut, il confie cette tache au système Unix
      classique - ie 1 compte mail = 1 compte utilisateur.
      Pour gérer des boîtes aux lettres indépendamment d'Unix, il faut
      utiliser un gestionnaire de BAL. J'en connais 2 : COURRIER-IMAP, le plus
      facile et CYRUS-IMAP beaucoup plus complexe mais capable de gérer
      plusieurs centaines de milliers de BAL."
      1. c'était la réponse à quelle question, précisément?

        parce que là on ne parle plus de la même chose
    3. bonjour,

      ma premiere question est de savoir si je me connecte sur ma debian en tant que toto, si j'envoie un mail,il sera composé toto@mondomain.fr. alors que moi je voudrais pas toto dans mon mail mais par exemple burinho@mondomain.fr

      je sais qu'il faut modifier le fichier /etc/aliasses mais quoi ?

      alors j'ai demandé si on pouvais créer d'autre compte mail sur portfix pour un utilisateur debian, et suite à ça j'ai eu cette réponse.

      merci
      1. je voulais la question _précise_ que tu lui as posée, le _texte_ de la question, pour savoir pourquoi il avait répondu ça alors que telle que tu l'annonces ta question n'a rien à voir avec sa réponse

        okie, si on part du principe que l'utilisateur (dans le /etc/passwd, le *vrai* utilisateur) est toto, dans ton /etc/postfix/aliases il te faut

        burinho:       toto


        pour qu'il sache que burinho, c'est toto

        ensuite, et c'est tout à fait autre chose (tu aurais dû mettre plus de soin à décrire ton problème), si tu veux que les messages adressés à burinho@mydomain soient délivrés à l'alias burinho, tu dois avoir dans recipient_canonical

        burinho@ton_domaine           burinho


        et surtout pour que les mails envoyés par l'alias burinho aient la bonne adresse From: tu dois aussi mettre à jour sender_canonical

        burinho     burinho@machinbidule


        puis :
        postmap /etc/postfix/sender_canonical
        postmap /etc/postfix/recipient_canonical

        postfix reload

        évidemment ton main.cf doit contenir dans ce cas des informations comme
        alias_maps = hash:/etc/postfix/aliases
        alias_database = hash:/etc/postfix/aliases
        sender_canonical_maps = hash:/etc/postfix/sender_canonical
        recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
        1. ceci dit, pour ma part j'ai confié l'écriture du From à des hooks Mutt, bien plus souples. Mais c'est pace que le contexte s'y prête
        2. ci-joint le message envoyé,

          je vais tester ce que tu m'as écris

          Bonjour,

          je me permet de vous envoyé ce mail car je suis en train de mettre en place mon propre serveur mail avec postfix,

          j'arrive à envoyé des mails sans problème mais j'aimerais que les utilisateurs puisse avoir plusieur comptes mails.

          est-ce faisable ?

          actuellement un user1 envoie un mail en tant que user@mondomain.fr
        3. en faite j'utilise ausssi mutt, car j'arrive plus à envoyé avec la commande mail, et là tu donnes n'importe qu'elle adresse, mais est-ce que ton destinataire va pouvoir te répondre dessus.
        4. ça dépend si ça tape sur un alias, ça dépend de ton recipient_canonical, ça dépend de local_recipient_maps dans main.cf (voir la partie REJECTING MAIL FOR UNKNOWN LOCAL USERS )
      2. j'ai bien tapé tout ça dans main.cf, mais mon aliasses il est dant etc, et non dans postfix

        quand je fais un map postmap /etc/postfix/sender_canonical il me met le message suivant "No surch file or directory"

        en plus je sais pas si cela à un rapport mais du coup mes messages reste bloqué dans sender /recepient.
        1. oui bien sur que je l'ai la doc, sur ce site http://x.guimard.free.fr/postfix/, j'ai ai lu d'autre. mais bon bon je peche la dessus.

          en faite mes mails je les voient bloqués quand je fait un mailq

          petite question est ce que c'est normal que dans postfix j'ai pas de répertoire sender_canonical ni postfix/recipient_canonical.

          bon je vais quand même relire la doc du lien que tu m'as données

          merci
          1. sender_canonical s'appelle parfois canonical, et ce n'est pas nu répertoire! sinon comment l'as tu modifié auparavant puisque je t'ai dit de modifier un fichier?

            tu as fait le postmap, à ce que tu as dit. Tu ne l'a pas fait comme ça tout seul sans rien faire avant, quand même?

            tu as lu ton main.cf?
            1. salut,

              je te remercie de ton aide et de ta patience il faut dire que cela fait que 5 mois que je connais linux et je n'ai pas encore les bon reflex comme sur windows.

              sender_canonical s'appelle parfois canonical --------> OK, car dans tout les doc s on parle de sender_canonical.
              est-ce que la mise a jour de mes adresses mails doivent être à un endroit très prècis.

              tu as fait le postmap, à ce que tu as dit. Tu ne l'a pas fait comme ça tout seul sans rien faire avant, quand même?------> non j'ai créer un fichier sender_canonical

              tu as lu ton main.cf? ----> oui
              je suppose que dans le main.cf je met juste dans ce cas
              canonical_maps = hash:/etc/postfix/canonical
              canonical_maps = hash:/etc/postfix/canonical

              et non

              sender_canonical_maps = hash:/etc/postfix/sender_canonical
              recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
              1. ah ben non, si tu as créé le fichier sender_canonical, alors tu dois bien avoir dans ton main.cf
                sender_canonical_maps = hash:/etc/postfix/sender_canonical

                l'essentiel c'est la correspondance entre les deux.

                tout est expliqué en détail dans le sample-canonical.cf (il _faut_ les lire, les sample)

                tout dépend de ce que tu veux faire. Parfois tu préféreras canonical, parfois sender_ et recipient_canonical

                puisque tu dis que tu as lu la doc, je ne peux que t'inviter à la lire à nouveau. Personne ne pourra mieux te dire ce qui est écrit dans ces fichiers, que ces fichiers eux-mêmes. Voir aussi man 5 canonical

                l'important ce n'est pas d'être rapidement opérationnel, c'est d'avoir un maximum de méthode, même si ça donne l'impression de prendre plus de temps. Lire, lire et relire, jusqu'à ce que tous les changements que tu fais, tu saches pourquoi tu les fais, que tu comprennes bien ce que tu modifies, ce que tu tapes, etc.

                Avec postfix c'est important, une grosse connerie et hop, tu ouvres un relais pour tous les spammeurs du bled.

                Profite de la chance que ce soit très, très documenté. Prends ton temps, ne fais rien sans comprendre ce que tu fais.
                1. salut,

                  je commence a y voir un plus clair, je commence a comprendre le but des allias et des canonicals.

                  ah ben non, si tu as créé le fichier sender_canonical, alors tu dois bien avoir dans ton main.cf
                  sender_canonical_maps = hash:/etc/postfix/sender_canonical

                  =>en faite je les avait tapés et je viens de comprendre qu'il fallait pas.

                  l'essentiel c'est la correspondance entre les deux.

                  tout est expliqué en détail dans le sample-canonical.cf (il _faut_ les lire, les sample)

                  tout dépend de ce que tu veux faire. Parfois tu préféreras canonical, parfois sender_ et recipient_canonical
                  puisque tu dis que tu as lu la doc, je ne peux que t'inviter à la lire à nouveau. Personne ne pourra mieux te dire ce qui est écrit dans ces fichiers, que ces fichiers eux-mêmes. Voir aussi man 5 canonical

                  => je vais y jeter un oeil mais j'avouerai que l'anglais et moi on est pas très copain

                  Avec postfix c'est important, une grosse connerie et hop, tu ouvres un relais pour tous les spammeurs du bled.

                  => je viens de m'en rendre compte hier soir j'avais bloquer mais mails car j'avais pas mis dans main.cf le relayhost
                  1. le relayhost c'est le serveur auquel ton postfix va envoyer tout ton courrier sortant pour acheminement. Sans relayhost, tu n'est pas forcément ouvert. La différence c'est surtout que, au lieu que si, par exemple, quand tu envoies un mail à un abonné yahoo, ton postfix adresse directement le mail au smtp de yahoo, il l'adresse au relayhost qui, lui, expédiera au smtp yahoo.

                    pour ce qui est d'être open relay ou non, lire la section TRUST AND RELAY CONTROL du main.cf
                    ça dépendra essentiellement des valeurs de mynetworks et relay_domains

                    par défaut, postfix ne te fait pas de mauvaise surprise avec ça

                    il faut que tu te mettes à l'anglais sinon tu es mal :-/
                    1. je sais qu'il va falloir me mettre à l'anglais.

                      sinon j'ai modifier mon fichier canonical.

                      j'ai fait postmap /etc/postfix/canonical et là j'ai le message suivant :
                      postmap : warning : etc/postfix/canonical : logical line must not start with white space: " etc/postfix/virtual : ..."

                      sinon le fichier aliases se trouve dans mon fichier etc/aliases, il se trouve que dans tout les docs que je lis il parle tous de etc/postfix/aliases.

                      1. j'ai fait postmap /etc/postfix/canonical et là j'ai le message suivant :
                        postmap : warning : etc/postfix/canonical : logical line must not start with white space: " etc/postfix/virtual : ..."


                        et tu en déduis quoi? il dit quoi ce message, en substance? et d'ailleurs c'est quoi cette ligne qui n'a pas du tout une gueule à être dans un canonical?


                        sinon le fichier aliases se trouve dans mon fichier etc/aliases, il se trouve que dans tout les docs que je lis il parle tous de etc/postfix/aliases.


                        et donc? qu'en déduis-tu? avec un effort?

                        bon, envoie-voir un postconf -n parce que là ça devient un jeu de devinette pour nous et de hasard pour toi
                        1. salut,

                          d'après mon petit anglais j'avais compris qu'il y avait un prob sur une ligne de config .

                          en faite j'ai vérifié j'avais enlever des dieses sur certaine lignes.

                          voilà c'est résolu, j'ai fait postmap /etc/postfix/canonical
                          je n'ai plus d'erreur par contre il ma rien modifier dans main.cf

                          il continue egalement de m'envoyé mes mails avec nom unix et non aliases
                          1. salut,

                            je pensais que ces ligne était mise automatiquement après le postmap /etc/postfix/canonial

                            sender_canonical_maps = hash:/etc/postfix/sender_canonical
                            recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
                            1. non non. T'aurais fait un man postmap tu l'aurais vu immédiatement. Si t'es pas plus curieux que ça et que tu continues à faire tout et n'importe quoi sans comprendre, tu ne vas jamais y arriver.

                              euh, oserais-je le demander une dernière fois...

                              balance-nous voir un postconf -n s'il te plaît
                              1. salut,

                                voici la postconf -n

                                alias_database = hash:/etc/aliases
                                alias_maps = hash:/etcaliases
                                append_not_mydomain = yes
                                biff = no
                                command_directory = /usr/sbin
                                config_directory = /usr/postfix
                                daemon_directory= /usr/lib/postfix
                                mail_name = Postfix
                                mail_spool_directory = var/spool/mail
                                mailbox_command ) procmail -a " $EXTENSION"
                                mailbox_size_limit = 0
                                mydestination = truc.fr, serveur, localhost.localdomain, localhost
                                mydomain = truc.fr
                                myhostname = serveur.truc.fr
                                mynetworks = 127.0.0.0/8 192.168.0.0/24
                                myorigin = /etc/mailname
                                program_directory = /usr/lib/postfix
                                recipient_delimiter = +
                                relayhost = smtp.free.fr
                                setgid_group = postdrop
                                smtp_banner = $myhostname ESMTP $mail_name (debian/gnu)