sudo postfix stop
sudo postfix start

Normalement, si vous n'avez pas eu de message d'erreur, tout va bien, votre machine est prête pour recevoir les mails pour votre domaine (si votre dns est bien configuré bien sur...)!
Vous pouvez tester ça en écrivant un mail en ligne de commande :

sendmail [email protected]
toto
.

(il faut terminer le mail par un '.' tout seul pour l'envoyer). Vous pouvez ensuite aller jeter un oeil au /var/log/mail.log pour voir s'il n'y a pas d'anomalie et, normalement, votre mail est stocké sous /var/spool/virtual/testmessagerie.fr/jdupont/new

Etape 6 : configuer dovecot pour postgres

Félicitations, à cette étape, vous êtes capable de recevoir des mails pour un domaine, de créer des utilisateurs, des alias, etc... Mais encore faut-il que vos utilisateurs puissent consulter leurs mails. C'est là qu'intervient dovecot.

Première chose, créer le fichier /etc/dovecot/dovecot-pgsql.conf :

driver = pgsql
        connect = dbname=postfix user=postfix password=postfix host=127.0.0.1
        default_pass_scheme = PLAIN-MD5
        password_query = SELECT password_hash AS password FROM popbox WHERE local_part = '%n' AND domain_name = '%d'
        user_query = SELECT '/home/virtual/' || '%d' || '/' || '%n' as home, mailbox_name AS mail,uid,gid FROM mailbox_view WHERE address = '%u'

Ensuite, il faut éditer le fichier /etc/dovecot//dovecot.conf (Attention, toujours faire une copie avant d'éditer un fichier de configuration !)
Rajouter dans la rubrique auth default les instructions suivantes :

 passdb sql {
    # Path for SQL configuration file, see doc/dovecot-sql-example.conf
    args = /etc/dovecot/dovecot-pgsql.conf
  }
 userdb sql {
    # Path for SQL configuration file, see doc/dovecot-sql-example.conf
    args = /etc/dovecot/dovecot-pgsql.conf
  }

Redémarrer dovecot

sudo service dovecot restart

Une fois que c'est fait, vous pouvez configurer votre client de messagerie préféré, avec comme informations :

  • serveur : l'adresse ip du serveur que vous êtes en train de configurer
  • user : votre user tel que défini dans votre popbox + le domaine (exemple [email protected])
  • password : celui rentré en popbox

Normalement, vous devriez pouvoir voir le mail que vous vous êtes envoyé en ligne de commande !

Première conclusion

Félicitations, à ce niveau, vous avez de quoi mettre en place une messagerie interne. Gardez toutefois en tête qu'elle n'est pas du tout sécurisée, elle laissera tout passer (virus, spams...). Cette méthode n'est donc valable pour le moment que pour de l'interne, et n'est pas encore suffisante pour un serveur de production, avec des mails extérieurs. Ce sera tout le point du prochain (et dernier) billet à ce sujet.