Mini HOWTO : redistribuer les mails extérieurs dans des boites internes.

Par Ghislain Picard.

Nous avons souhaité proposer à chaque élève et à chaque professeur un e-mail personnel avec un accès interne, et un accès externe via notre provider où nous disposons d'une unique adresse e-mail.

Les correspondants extérieurs doivent préciser leur destinateur dans le sujet de l'e-mail :

To: fg@bln.de
Subject: Jojo : coucou, c'est moi.

Pour les utilisateurs internes, nous avons voulu rendre la tâche la plus transparente possible.

Les e-mails sortants sont mis en queue sur le serveur de mail et envoyés toutes les 15 minutes quand la liaison avec le provider est ouverte. Les e-mails internes sont distribués normalement.

Pour remplir cette tâche, nous avons utilisé un 486SX40 (disque de 240Mo) sous linux (RedHat 4.2) sans XWindow. La puissance et l'espace disque ne sont absolument pas critiques.

Ce serveur assure les tâches suivantes :

I. Configuration du serveur.

  1. Configuration de fetchmail-4.3 et de procmail-3.11.

Un compte " post " gère la réception et la distribution des e-mails.

Le fichier de configuration de fetchmail est /home/post/.fetchmailrc :

poll provider.domain.de# adresse du POP du provider
proto pop3 # protocole
interface ppp0/0.0.0.0/0.0.0.0 # attend que la liaison PPP soit active ...
# ... (ppp0 est l'interface de la ligne PPP)
user fg # nom de user chez le provider
pass motdepasse # mot de passe en clair !
- d 900 # cherche le mail toutes les 15 minutes

Les permissions de ce fichier doivent être 600 car le mot de passe est en clair ! (chmod 600 .fetchmailrc)

Fetchmail est démarré par post au moment de la connexion et récupère régulièrement les mails quand la connexion est ouverte.

Procmail permet de filtrer les e-mails. Le fichier de commande de filtrage est /home/post/.procmailrc :

# jojo# commentaire ignoré par procmail mais utilisé par le script assurant la suppression d'un utilisateur
:0#
* ^Subject:.*jojo :# recherche la chaîne Subject en début de
# ligne, puis la séquence jojo :
!jojo@fg# forward le mail sur le compte interne de jojo

Tous les e-mails non filtrés restent dans la boite aux lettres de " post ".

  1. Configuration de sendmail

Il ne faut pas modifier directement le fichier /etc/sendmail.cf. Il est beaucoup plus facile et plus sûr d'utiliser les fichier .mc et le préprocesseur m4. Disponible sous RedHat dans /lib/sendmail-cf.

La configuration se fait dans le fichier /usr/lib/sendmail-cf/cf/config.cm avec des macros, puis est " compilé " par m4 config.mc > config.cf. Copier ensuite dans /etc/sendmail.cf le fichier config.cf ainsi engendré.

notre fichier config.cf :

divert(-1)dnl
include(`../m4/cf.m4')dnl
define(`confDEF_USER_ID',``8:12'')dnl
OSTYPE(`linux')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(local_procmail)dnl
FEATURE(nocanonify)dnl
MASQUERADE_AS(provider.domain.de)dnl# adresse e-mail chez le provider ...
# ... (Modifie le from à la sortie du mail. Permet les reply).
MASQUERADE_DOMAIN(mitte.fg)dnl# adresse des machines internes pour
MASQUERADE_DOMAIN(prenzlauer.fg)dnl# que l'e-mail interne puisse etre
MASQUERADE_DOMAIN(tiergarten.fg)dnl# normalement distribué
FEATURE(masquerade_envelope)dnl
DEFINE('SMART_HOST','smtp:[provider.domain.de]')dnl # adresse du SMTP du provider
MAILER(procmail)dnl
MAILER(smtp)dnl
  1. Configuration de qpoper-2.3

Nous avons installé qpoper en rpm. Aucune configuration particulière n'est nécessaire. Ce démon démarre directement au démarrage. Il utilise le protocole POP3.

  1. Lecture et écriture des mails.

Les élèves et les professeurs utilisent Pegasus (freeware) sur des Pentium (sous MS-Windows95). Ce maileur est multiutilisateurs. Il est parfaitement adapté à notre besoin.

La configuration est aisée. Il faut préciser le serveur SMPT (mitte@fg) et le serveur POP (mitte@fg).

  1. Administration du système.

Nous avons écrit deux scripts en PERL afin d'ajouter et d'enlever les comptes (disponible sur le site web du lycée en version alpha).

L'ajout d'un compte consiste à :


Copyright © 1997-1999 « IKARIOS »