Forum général.général Installer son propre serveur mail farfelu

Posté par  .
Étiquettes : aucune
1
4
déc.
2012

Bonjour à tous,

Je n'arrive pas à trouver un bon tutorial (en anglais ou français) pour faire ce que je veux faire. Je dois reconnaitre que mon projet personnel est un peu farfelu.

Mon problème est uniquement lié à la configuration de mon serveur MTA/MDA (ne vous occupez pas du DNS)

Je m'explique :

  • J'ai acheté mondomaine.tld.
  • J'aimerai recevoir les mails sur utilisateur@mondomaine.tld sur mon propre serveur mail.
  • J'aimerai recevoir les mails sur nimporte_quoi@utilisateur.mondomaine.tld dans le dossier nimporte_quoi sur le compte IMAP de utilisateur@mondomaine.tld.
  • J'aimerai fournir à chaque utilisateur un compte utilisateur où il puisse tout faire, et un compte utilisateur.mobile, seulement en lecture seule (avec la possibilité d'envoyer des mails)
  • J'aimerai que mon serveur mail ne relai, aucun mail à part ceux des utilisateurs authentifiés en SMTPS.
  • Je ne veux pas de MySQL/PostgreSQL que des fichiers (soit les fichiers BerkleyDB ou SQLite)

Mes questions sont les suivantes :

  • Est-il possible de le faire avec Postfix et Dovecot ?
  • Je lie Postfix et Dovecot en utilisant ceci dans master.cf :
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=mail:mail argv=/usr/lib/dovecot/deliver -d ${recipient}

Y a-t-il un moyen de voir ce que lance Postfix avec quelle entrée ? Oui faut-il hacker en faisant un script perso qui affiche l'entrée dans un fichier de log, puis envoie tout à /usr/lib/dovecot/deliver après ?

  • La majorité des tutoriaux que je trouve utilise beaucoup de mauvaises pratiques. Avez vous un bon tuto (en anglais ou français), ou faut-il lire la doc ?
  • # oui

    Posté par  . Évalué à 3.

    J'ai acheté mondomaine.tld.

    bien

    J'aimerai recevoir les mails sur utilisateur@mondomaine.tld sur mon propre serveur mail.
    J'aimerai recevoir les mails sur nimporte_quoi@utilisateur.mondomaine.tld dans le dossier nimporte_quoi sur le compte IMAP de utilisateur@mondomaine.tld.

    il te faut 2 lignes DNS MX, une pour @modomaine.tld, une pour @utilisateur.mondomaine.tld

    ensuite tu dois pouvoir jouer les virtualmaps et des aliases de postfix pour que
    @utilisateur.mondomaine.tld renvoie sur utilisateur@mondomaine.tld

    puis c'est dans son compte que l'utilisateur fait la regle pour dire
    nimportequoi@utilisateur => dossier imap

    J'aimerai fournir à chaque utilisateur un compte utilisateur où il puisse tout faire, et un compte utilisateur.mobile, seulement en lecture seule (avec la possibilité d'envoyer des mails)

    c'est quoi l'interet ? s'il est en mobile et qu'il veut supprimer un email, le classer differemment, pourquoi tu veux le restreindre ?

    J'aimerai que mon serveur mail ne relai, aucun mail à part ceux des utilisateurs authentifiés en SMTPS.

    c'est un classique de la config de postfix

    Je ne veux pas de MySQL/PostgreSQL que des fichiers (soit les fichiers BerkleyDB ou SQLite)
    pas besoin d'aller jusque là sauf si tu geres des milliers de domaines.

    tu peux regarder du coté de webmin avec les plugins virtualmin et usermin qui permettent de configurer un sereur, de creer des domaines, puis de creer des utilisateurs sur ce domaine, puis de se connecter en tant qu'utilisateur.

    • [^] # Re: oui

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

      Et pour utiliser Postfix et Dovecot ensemble, dans le wiki de dovecot ils en parlent là:

      http://wiki.dovecot.org/HowTo/PostfixAndDovecotSASL

      et dans la documentation de Postfix:

      http://www.postfix.org/SASL_README.html#server_dovecot

    • [^] # Re: oui

      Posté par  . Évalué à 1.

      puis c'est dans son compte que l'utilisateur fait la regle pour dire
      nimportequoi@utilisateur => dossier imap

      Le problème, c'est que je le voudrait coté serveur, pour éviter de copier les règles sur tout les clients.

      c'est quoi l'interet ? s'il est en mobile et qu'il veut supprimer un email, le classer differemment, pourquoi tu veux le restreindre ?

      Je sais pas pour les autres utilisateurs. Mais je suis un des utilisateurs, et je ne veux pas que mon téléphone mobile aie un accès en écriture sur mon compte mail (parano's way of life). Ça permet aussi de ne pas rentrer mon vrai mot de passe sur mon mobile pas libre Android/iOS/WindowsPhone.

      Ruby est le résultat d'un gamin qui apprend le Java, puis jette un œil à Perl et se dit « je peux le réparer! »

      • [^] # Re: oui

        Posté par  . Évalué à 4.

        Le problème, c'est que je le voudrait coté serveur, pour éviter de copier les règles sur tout les clients.

        Oui, mais c'est pas le problème du MTA/MDA.

        Je pense que Sieve est la solution adaptée.

    • [^] # Re: oui

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

      il te faut 2 lignes DNS MX, une pour @modomaine.tld, une pour @utilisateur.mondomaine.tld

      Il faut X+1 entrées DNS, où X est le nombre d'utilisateurs, vu que, si j'ai compris la demande, "utilisateur" sera à remplacer par le nom de chacun des utilisateurs.

      Pourquoi ne pas faire ça avec le joli "+" qui est là pour ça ?
      http://www.postfix.org/postconf.5.html#recipient_delimiter

      Ce serait plus simple…

  • # OpenSMTPD

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

    J'ai joué un peu avec OpenSMTPD, le MTA maison d'OpenBSD qui a été porté sur plusieurs autres plate-formes, notamment les distributions Linux les plus répandues. J'ai été convaincu par son argument principal : la simplicité de la configuration. Il est en effet assez facile à la fois à la compréhension et à l'usage.

    Pour ça j'ai suivi le tutoriel de Calomel. Attention, vu que smtpd change beaucoup, il est possible que le tuto ne soit pas à jour; il faut que tu vérifies sur d'autres source quand ça ne marche pas, mais ça te donnera au moins de bonnes pistes.

    Il y a quelques autres bons points :
    * léger, se veut être rapide
    * possibilité d'utiliser spamd pour faire du greylisting et dérouter les spammeurs pour pas cher. Bon, il faut accepter les défauts du greylisting, et en plus tu vas avoir besoin de pf.
    * la configuration des alias se fait dans de simples fichiers textes, à passer dans une moulinette spécifique.

    Malheureusement, smtpd en est encore au stade du développement, bien que parfaitement utilisable (c'est lui qui fait tourner la ML de OpenSMTPD… comme par hasard). En plus, il est (avec les autres outils) assez spécifiques à OpenBSD. Les ports vers d'autres systèmes existent, mais on peut s'attendre à plus de bugs.

    • [^] # Re: OpenSMTPD

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

      Je me permets de taper l'incruste (merci google alertes) pour donner quelques précisions ;-)

      Il y a quelques autres bons points :
      * léger, se veut être rapide

      Il se situe dans le même ordre de grandeur que la concurrence, ne pas s'attendre a de grosses surprises pour le moment.

      • possibilité d'utiliser spamd pour faire du greylisting et dérouter les spammeurs pour pas cher. Bon, il faut accepter les défauts du greylisting, et en plus tu vas avoir besoin de pf.

      Spamd et pf sont indépendants, OpenSMTPD ne connait ni l'un ni l'autre et peut être utilises sans.

      • la configuration des alias se fait dans de simples fichiers textes, à passer dans une moulinette spécifique.

      Il existe actuellement 3 méthodes de configuration d'aliases:
      * fichier texte
      * fichier db (crée avec makemap a partir d'un fichier texte)
      * définition en statique dans le fichier { root => gilles }

      Il existe dans une branche git un support LDAP et dans une autre branche git un support SQLite ;-)

      Malheureusement, smtpd en est encore au stade du développement, bien que parfaitement utilisable (c'est lui qui fait tourner la ML de OpenSMTPD… comme par hasard). En plus, il est (avec les autres outils) assez spécifiques à OpenBSD. Les ports vers d'autres systèmes existent, mais on peut s'attendre à plus de bugs.

      En réalité le stade de développement est bien avance, il y a eu plusieurs phases de stabilisations, d'appels au rapport de bugs, les derniers snapshots sont censés être stables. Il existe une version portable qui est aussi proche de la version native qu'openssh-linux ne l'est de openssh natif, donc il ne faut au contraire PAS s'attendre a plus de bugs et les remonter s'ils existent. Nous sommes très réactifs ! :-)

  • # Attention lecture seule

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

    un compte utilisateur.mobile, seulement en lecture seule

    Du coup dans ce compte tu ne seras même pas capable de marquer un e-mail comme lu, et ton client de messagerie mobile va t'afficher plein d'erreurs à cause d'interdictions de ce genre.
    Pas sûr que ce soit souhaitable.

  • # DNS

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

    J'aimerai recevoir les mails sur nimporte_quoi@utilisateur.mondomaine.tld dans le dossier nimporte_quoi sur le compte IMAP de utilisateur@mondomaine.tld.

    Le moyen le plus simple et propre de mettre cela en œuvre dans le DNS, c'est :

    utilisateur.mondomaine.tld. CNAME mondomaine.tld.
    mondomaine.tld. MX serveur.mondomaine.tld.
    serveur.mondomaine.tld. A …
                            AAAA …
    
    
  • # Exemples

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

    Pour les exemples, il faut utiliser les noms de domaines dédiés à cela : example.com, example.net, example.org, example.edu et *.example.

    • [^] # Re: Exemples

      Posté par  . Évalué à 1.

      c'est vrai que c'est important
      on ne sait jamais des fois qu'un admin ait créé sn enregistrement dns avec mondomaine.tld

      d'ailleurs ca existe .tld comme extension ?

Suivre le flux des commentaires

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