Forum Linux.redhat fetchmail + sendmail + procmail

Posté par  .
Étiquettes : aucune
0
15
nov.
2006
Salutations

J'utilise le trio fetchmail + sendmail + procmail pour traiter mon courrier de mes FAI.
Tout fonctionne bien et mes messages sont bien rangés dans leurs boites mails. Mon problème est que les messages dans les boites mails n'ont pas le bon user. De ce faite, les mails sont user inconnue et sans sujet. Je suis obligé de faire un chown -R pour chaque répertoire avec le bon user pour pouvoir les lires. C'est procmail qui me fait la distribution de mon courrier.

Pouvez-vous m'aider SVP.
@+
Stef
  • # Demande de précisions ...

    Posté par  . Évalué à 1.

    Bonjour,

    J'aimerais avoir plus d'informations sur le fonctionnement du "trio":

    J'ai l'impression (et je peux me tromper) qu'il n'y a qu'un fetchmail qui récupère les mails de tous les utilisateurs (donc un fichier de type ".fetchmailrc").
    Puis, fetchmail transmet à sendmail ce qu'il a récupéré :
    1) à destination d'un compte qui aurait un procmail global de tri;
    2) à destination des différentes personnes et chacune dispose de son procmail pour le tri;
    3) autre ?

    Merci d'avance :)

    Cdlt,
    • [^] # Re: Demande de précisions ...

      Posté par  . Évalué à 1.

      Salutations

      Exacte, il y a un seul fichier procmail qui récupère les mails de tous les utilisateurs (donc un seul fichier de type ".fetchmailrc") commun pour tous le monde avec le user admin.
      C'est pour cela que tous mes mails sont au users "admin" et groupe "mail".
      Ensuite la distribution dans les maildirs ce fait avec un procmail global de tri comme l'exemple suivant:
      :0:
      * ^From.*Electro.bidouille@wanadoo.fr
      /Disk0/Mail/Electro_bidouille_wanadoo

      :0:
      * ^From.*tonton.labidouille@free.fr
      /Disk0/Mail/tonton_labidouille_free

      et d'autres encores.

      Alors pour pouvoir les lires, je suis obligé de faire un chown -R user de la boite mail et sa pour toutes les boites.

      Mais le pire, ce sont les mails qui arrivent directement de l'extérieur sans passer par un FAI qui arrive directement sur sendmail.
      Ces mails sont user "root".

      Alors pour conclure
      Mes mails de mes FAI font fetchmail puis sendmail et procmail pour finir dans leur maildir.
      Les mail directes font sendmail et procmail pour finir dans leur maildir.

      Procmail me fait le filtrage et la distribution.

      Merci
      • [^] # Une piste...

        Posté par  . Évalué à 1.

        Hello,

        Merci pour toutes ces explications (j'étais finalement pas si loin ^__^).

        En fait, j'ai une piste qui dépend des pré-requis suivants:
        ¤ chaque compte configuré dans fetchmail doit appartenir à un seul utilisateur. Cela n'empêche pas d'avoir plusieurs comptes pour un même utilisateur, mais les mails d'une boite auront toujours le même destinataire local.
        ¤ sendmail peut délivrer (fonction MDA) les mails à chaque user et non qu'à l'utilisateur ROOT (pas "très courant" le cas des mails de l'extérieur qui sont redirigés qu'à root !);

        Alors, dans la configuration de fetchmail, il est possible de lui indiquer qu'un compte est localement associé à un utilisateur. En voici une syntaxe [1]:
        ===
        poll pop.provider.com with proto POP3
        user 'utilisateur1' there with password 'passe' is utilisateur1 here options fetchall
        user 'utilisateur2' there with password 'passe' is utilisateur2 here options fetchall
        ===
        Dans cet exemple, sur le pop.provider.com, fetchmail récupère les mails du compte "utilisateur1" et les soumet à sendmail pour l'utilisateur local 'utilisateur1' (le nom n'est pas lié au compte, mais là c'est un exemple, donc simplifié :P), de même le compte "utilisateur2" à pour équivalent local 'utilisateur2'.
        Charge à chacun des utilisateurs de faire le tri avec leur outil favori (même si ma préférence va à procmail :P)

        Reste que cette piste va à l'encontre de la solution actuelle car elle empêche la gestion du mail de manière à priori "centralisée" (ie via un seul user root/admin ?) et qui surement permet de faire un ménage efficace des virus, spam et autres.

        Sinon, en gardant la solution actuelle, il est possible (pardon procmail pour ce que je vais évoquer) de rajouter des commandes à procmail pour qu'il les exécute à chaque message. Il s'agit de "faire faire" à procmail ce qui est fait manuellement à l'aide de "variables fictives". Par exemple:
        ===
        ...
        # Avant les règles de filtrages SANS GARANTIE SUR LA SYNTAXE
        PARDON=$(chown -R user /Disk0/Mail/Electro_bidouille_wanadoo)
        PARDON=$(chown -R user /Disk0/Mail/tonton_labidouille_free)
        # etc...

        # Règle de filtrages
        ...
        ===

        Bon courage !

        Cdlt,

        PS: Je nierai avoir eu connaissance de la solution "rajouter de commandes" ^__^

        Ref:
        1 - [http://www.linux-france.org/article/mail/serveur-mdk/config.(...)]
        • [^] # Re: Une piste...

          Posté par  . Évalué à 1.

          Salutations

          Pour le problème avec fetcmail c'est fait.
          J'ai un fichier .fetchmailrc par user au lieu d'un global.
          J'ai laisser le procmail global pour faire le filtrage et la distribution et sa fonctionne bien.

          Par contre pour les mails directs via sendmail, ils se retrouvent toujours avec le user='root' et le groupe 'mail'.

          En faite j'ai fait sous sendmail une Associations de domaine entre celui de l'extérieur et celui en local de la machine.
          Et ensuite j'ai fais des alias pour la redirection des mails vers les users.
          Donc adresse mail extérieur sans le nom de domaine vers l'adresse du user sous unix.
          exemple d'une adresse mail directe:

          tonton.labidouille@tlabidouille.dyndns.org

          en Associations de domaine
          tlabidouille.dyndns.org vers localhost

          et redirection des mails
          tonton.labidouille vers le user "tonton_labidouille_wanadoo"
          et procmail
          :0:
          * ^From.*tonton.labidouille@tlabidouille.dyndns.org
          /Disk0/Mail/tonton_labidouille_wanadoo
          Les mails sont bien arriver dans la boite, mais avec le user root et le groupe mail.

          Sa ne colle pas.
          Qu'est-ce qu'il me manque pour le user correspond ..!

          merci
          @+
          Stef
          • [^] # Re: Pas d'idée :(

            Posté par  . Évalué à 1.

            Bonjour,

            La configuration du mail pour les messages de l'extérieur ne m'inspire pas :'(
            L'association entre les domaines extérieurs et le domaine local m'a l'air partielle et il est possible de spécifier un USER local en plus pour affiner la configuration. Autrement dit, tu pourrais faire une association du type
            ===
            tonton.labidouille@tlabidouille.dyndns.org tonton_labidouille_wanadoo
            ===
            Toutefois, je peux juste confirmer le point suivant: tant que l'utilisateur propriétaire du .procmailrc recevra et (merci procmail) triera les messages, ces derniers héritent en général (sisi, il y a bien des cas particuliers :P) du même propriétaire. Autrement dit, je suppose que l'utilisateur qui reçoit les mails de l'extérieur est root et qu'il dispose du fichier .procmailrc (dont tu as donné un extrait) associant les adresses extérieures aux dossiers locaux.

            Il ne te reste qu'à potasser un peu plus sendmail (ou autre) et à lui faire faire ce dont tu as besoin :-)

            Bon courage !

            Cdlt,

            PS: En me relisant, je me demande s'il n'est pas possible de rediriger les messages aux utilisateurs qui eux effectueront le trie.
            Dans le procmailrc, il suffit de renvoyer le message à l'utilisateur local et celui-ci pourra dans son procmailrc faire le trie adéquat....

            PS2: Et si ... (non, je m'auto censure parce que suggérer de se mettre root n'est pas une solution, mais un palliatif ^__^)

            PSn: Mouais, après une n-ième relecture, bof :s
            Vraiment pas d'idée :( !

Suivre le flux des commentaires

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