Serveur de courriel

De ClissXXI.

(Différences entre les versions)
(Supprimer les comptes inactifs postfixadmin)
(Supprimer les comptes inactifs postfixadmin)
Ligne 24 : Ligne 24 :
     echo $email; fi; done
     echo $email; fi; done
Faites un <code>rm -rf</code> plutôt qu'un <code>echo</code> quand vous avez vérifié :)
Faites un <code>rm -rf</code> plutôt qu'un <code>echo</code> quand vous avez vérifié :)
 +
 +
== Occupation disque ==
 +
 +
cd /var/mail/virtual/ && du -s */ | sort -rn | awk '{ print int($1 / 1024) "M\t"$2 }'
== Partager le courriel en interne ==
== Partager le courriel en interne ==

Version du 7 août 2010 à 08:19

Le but de l'article est de mettre en place un serveur de courriel relativement simple, de la manière la plus automatisée possible.

Scripts à venir.

On se basera sur Postfixadmin (la version SVN, sous GNU GPL, pas la dernière stable), ainsi que sur l'excellent HOWTO associé, qui n'a pour défaut que d'être un peu fouillis (gère Debian et FreeBSD suivant plusieurs variantes de configuration), et surtout de ne pas être automatisé! :)

Sommaire

Liens

Supprimer les comptes inactifs postfixadmin

Il y a un script dans ADDITIONS/ mais il nécessite une configuration.

cd /var/mail/virtual && ls | while read email; do \
  if [ $(mysql postfix -N -B -e "SELECT count(*) FROM mailbox WHERE username='$email';") = 0 ]; then \
    echo $email; fi; done

Faites un rm -rf plutôt qu'un echo quand vous avez vérifié :)

Occupation disque

cd /var/mail/virtual/ && du -s */ | sort -rn | awk '{ print int($1 / 1024) "M\t"$2 }'

Partager le courriel en interne

  • Installer courier-imap sur un poste (serveur)
  • Utiliser un même compte sur chacun des postes clients
  • Dans /etc/courier/imapd : IMAP_ENHANCEDIDLE=1 , pour synchroniser les différents clients immédiatement après chaque opération (ajout, suppression...).

Test/debug d'une configuration

  • Exim (résultat sur la sortie standard; génial!):
sendmail -bt adresse # -bt == 'back-trace'
sendmail -bt -d adresse # -d == 'debug', more verbose
  • Postfix
    • Tester l'envoi sur une adresse, résultat par mail [1], nettement moins pratique qu'Exim:
sendmail -bv adresse # sans envoi réel
sendmail -v adresse # avec envoi réel
    • Couper l'envoi des e-mails sur une configuration de test:
echo "/.*/	DISCARD" > /etc/postfix/access-regexp
echo "smtpd_client_restrictions = check_recipient_access regexp:/etc/postfix/access-regexp" >> /etc/postfix/main.cf
    • Couper les e-mails en sortie sur une configuration de test (sauf relay_domains), dans main.cf:
default_transport = discard:
  • Courier, ajouter dans /etc/courier/imapd:
IMAPDEBUGFILE=imapdebug.txt

En cas de test d'un programme qui envoie des courriels, pour éviter tout débordement, on peut ignorer silencieusement tout les courriels externes. Sous Postfix:

default_transport = discard:

À compléter éventuellement avec un mouchard qui récupère tous les courriels émis:

always_bcc = postfix-trace
Outils personnels