Simple gestion du Courriel sous Linuxpar Bruno VernaySimple gestion du Courriel sous Linuxpar Bruno VernaySimple gestion du Courriel sous LinuxSimple gestion du Courriel sous LinuxTable des matièresAutres formats 1. Introduction 2. Cas d'utilisation 3. Expédition du courrier par Postfix paramètres 4. Réception du courrier par Fetchmail 5. Outils de configuration Wizdrake (Mandrake) 2.0.10 Linuxconf 1.27 Webmin 0.92 Fetchmailconf (1.40) Manuel Ce que fait "Wizdrake" Ce que fait Linuxconf Ce que fait Webmin Ce que fait fetchmailconf Ce que vous devriez faire 6. Client, lecteur de courrier Kmail (KDE) Evolution (GNOME) Mozilla 7. References 8. Question restantes Autres formatsAutres formatsAutres formats
Autres formats disponibles : Sources XML [../src/] ;
Portable Document Format [bMailbox.pdf] ;
Post Script [bMailbox.ps] ;
un fichier xhtml [bMailbox.html] ;
plusieurs fichiers xhtml [index.html] ;
Formating Object [bMailbox.fo].
Chapitre 1. IntroductionChapitre 1. IntroductionChapitre 1. IntroductionCet HowTo répond-il à vos besoin ? Mon but n'est pas d'expliquer le fonctionnement d'une application, ni d'un
protocole ! Pour ça, voir Chapitre 7. References. Je veux simplement répondre à
un cas d'utilisation.cas d'utilisation : Plusieurs utilisateurs partagent une (ou des) machine(s)
non connectées en permanence à l'Internet. Ils lisent et
ecrivent leur courriel quand ils le veulent. Tous ces courriels sont distribués
lorsque la connexion est ouverte, par exemple lorsqu'un utilisateur se connecte pour visiter
un site web. Plus précisément Chapitre 2. Cas d'utilisation.prérequis : Vous devez savoir vous loguer en root, editer un fichier texte, .Status du document : Ce document est en cours de création, toute remarque est la bienvenue :
bruno.vernay@laposte.net [mailto:bruno.vernay@laposte.net].
Ce document sera sans doute scindé en deux : un pour mettre en oeuvre cette solution
(ce "cas d'utilisation")
le plus rapidement et le plus simplement possible et un autre pour comparer les différents
outils de configuration. Mon but est de ne pas faire perdre de temps aux gens.
La partie "outil" est quasiment finie. La partie "Client" n'est presque pas commencée. Je dois
rédiger plus d'expliquations pour Postfix et Fetchmail. J'aimerais ajouter un chapitre antivirus.
.Tests. Pour tester les différents outils de configuration, il est inutile de désinstaller
Postfix, de toute façon, cela ne supprime ni le répertoire "/etc/postfix" ni
"/var/spool/postfix". J'ai donc supprimé ces répertoires à la main pour les remplacer
par les répertoires d'origine.Chapitre 2. Cas d'utilisationChapitre 2. Cas d'utilisationChapitre 2. Cas d'utilisationBut :But :Plusieurs utilisateurs partagent une même machine (ou un même réseau
local) qui n'est pas connecté en permanence à Internet. Ils lisent et
ecrivent leur courriel (avec un client mail classique ex: kmail) quand ils le
veulent. Tous ces courriels sont distribués/ramassés lorsque la connexion est ouverte,
par exemple lorsqu'un utilisateur veut visiter un site web.Solution :Solution :Postfix permet d'envoyer les courriels et Fetchmail permet d'en recuperer.
Il existe de nombreux clients mails (Kmail de KDE, mozilla, Evolution de GNOME, ... )
Il existe aussi de nombreux outils de configurations.
(Et bien sur, il existe de nombreuses autres solutions !)
Le problème est bien souvent d'en choisir une qui réponde à vos besoins sans avoir à les
tester toutes ... et perdre un temps monstrueux. Je crois beaucoup aux "cas d'utilisations" :
je ne tiens pas à être exhaustif sur le sujet du "courriel sous Linux", mais je veux permettre
aux gens de se faciliter la vie. J'utilise une distribution Mandrake 9 (fonctionne aussi avec 8.2.)Contraintes :Contraintes :Root doit connaitre tous les mots de passe des comptes de messagerie. Il peut donc lire
les courriers de tous les utilisateurs. (Notez qu'à moins d'être maître de sa propre machine,
il est impossible d'assurer que root ne peut retrouver toutes vos informations.)
La machine doit avoir un nom de domaine du type "localhost.mondom.net" (vous pouvez avoir un autre
nom, mais toujours du type "machine.domaine.truc". "localhost.localdomain" ne fonctionne pas !)
(Vous pouvez changer facilement de nom de machine avec Webmin : Menu Hardware / Network Configuration
/ DNS Client. Redémarrez la machine après !)
Il faut que les programmes suivants soient installés : Postfix, fetchmail.Pourquoi tout cela n'est-il pas plus simple ?Pourquoi tout cela n'est-il pas plus simple ?Oui, pourquoi postfix ne recoit-il pas directement le courrier de l'extérieur ?
Postfix reçoit par le protocol SMTP les courriers que vous envoyez localement aux
adresses locales "...@mondomaine.quamoi". Mais qui d'autre que votre machine connait cette
adresse ? Personne. Alors que laposte.net et free et yahoo ... ont fait le nécessaire
pour être connu de tous. Ce n'est donc pas que Postfix ne peut pas le faire, c'est que son adresse
n'est pas connue sur l'Internet. C'est pour cette raison qu'on utilise Fetchmail, pour aller
chercher le courrier.Description :Description :Tous les exemples de configuration illustrent le cas suivant : J'ai un FAI pour ma connexion par
modem RTC. Nous sommes deux utilisateurs paul et joe à se partager une même machine. Le FAI offre toujours
un compte mail, une adresse de la forme "...@free.fr". En plus, nous avons des comptes chez laposte.net.
Ces adresses sont de la forme "...@laposte.net". Mais l'adresse principale, celle qu'on veut écrire sur
nos cartes de visite et à laquelle les gens nous répondent est "...@laposte.net". L'avantage est que si
on abandonne free pour prendre Wanadoo, on perd notre adresse "@free.fr" mais on garde notre adresse
"...@laposte.net" (En plus, c'est gratuit.)
•Fournisseur d'accès internet (FAI) : free.fr (autres valeurs possible : Wanadoo, LibertySurf ...)
•Compte d'accès chez free.fr : "paul-vernay" avec mot de passe "PwBvFree".
Attention à ne pas confondre le compte (utilisateur/login et mot-de-passe) de connexion au FAI
avec les comptes de connexion aux messageries ! Même si les deux peuvent être chez FREE.
•Messageries : compte du FAI : free.fr
•Comptes de messagerie sur free.fr : "paul.vernay" avec mot de passe "PwBvFreeMail"•Serveurs SMTP (envoi) : smtp.free.fr.
Il sera utilisé dans Paramètre 'relayhost'.
(smtp.laposte.net existe mais ne pourra être utilisé.)•Serveurs POP (réception) : pop.free.fr. On récupère sur ce serveur les messages envoyés
à "...@free.fr" au cas où, mais l'adresse qui nous intéresse surtout est "...@laposte.net"
sur pop.laposte.fr.
•Messageries : laposte.net (Autres valeurs possibles : Wanadoo, Yahoo.fr, netscape.com ...)
•Comptes
de messagerie : "paul.vernay" avec mot de passe "PwBvLapo"
et "joe.pantin" avec mot de passe "PwDmLapo". Il sera utilisé dans Paramètre 'user'.•Serveurs POP (reception) :
pop.laposte.net (On récupère aussi sur pop.free.fr) Il sera utilisé dans Paramètre 'poll'.•Serveurs SMTP (envoi) : smtp.laposte.net existe, mais on ne peut pas se connecter
dessus avec postfix pour des raisons de sécurité.
•Machine ou LAN sous Linux
•Comptes
utilisateurs : "joe", "paul".•Nom de la machine Linux : "localhost.mondom.net" (vous pouvez avoir un autre nom, mais
toujours en trois morceaux, du type "machine.domaine.truc". "localhost.localdomain" ne
fonctionne pas !).
Chapitre 3. Expédition du courrier par PostfixChapitre 3. Expédition du courrier par PostfixChapitre 3. Expédition du courrier par PostfixExplications. Quelques explications, peut être un schéma pour voir ce que font les différents
parametres.MDA : Mail Delivery Agent. C'est l'agent qui expédie le courrier de votre machine. Aussi bien vers l'Internet que vers
les utilisateurs de la machine. Le programme que nous utiliserons est Postfix. Il existe
aussi sendmail, smail, exim, mmdf, qmail. Le protocol utilisé est SMTP.paramètresparamètres
myorigin. Si ce parametre est absent, alors par defaut myorigin = $myhostname (localhost.mondom.net) Cela ne
pose pas de probleme pour une machine isolée. Simplement, dans la table "canonical" : il faut donc
"paul@localhost.mondom.net"->"paul.vernay@laposte.net". En général, et/ou si vous avez quelques
machines sur un LAN, vous pouvez preferer myorigin = $mydomain (mondom.net). Dans la table
"canonical" : il faudra alors "paul@mondom.net"->"paul.vernay@laposte.net".
Voir nom de la machine [].
relayhost. Le nom du serveur smtp de votre
fournisseur d'accès Internet. Si vous vous connectez avec free, entrer
"smtp.free.fr". si vous utilisez LibertySurf, entrer "smtp.libertysurf.fr",
pour Wanadoo : "smtp.wanadoo.fr". On ne peut pas entrer "smtp.laposte.net"
car laposte ne fait pas fournisseur internet et les fournisseurs ne
permettent pas de se connecter à d'autres smtp. Voir votre serveur SMTP. []
canonical_maps. "hash:/etc/postfix/canonical". C'est le nom du fichier qui remplace les adresses locales
par les adresses "connues sur l'Internet".
defer_transports. Nom des services de transport dont il faut reporter l'utilisation. Par exemple, si
"defer_transport=smtp" alors tout ce qui doit etre envoyé par smtp restera en file d'attente jusqu'a
ce qu'on ordonne de vider cette file.
myhostname : localhost.mondom.net (host.domain.name). Ne pas modifier. Ce parametre spécifie le nom d'hote du systeme de messagerie qui sera vu par l'Internet.
Par défaut on utilise le nom complet du domaine (issu de gethostname().) Ce parametre est utilisé
comme valeur par défaut pour beaucoup d'autres parametres.
smtpd_banner. Ne pas modifier. Attention : contrairement à ce qui est indiqué dans le fichier de
configuration, main.cf ce parametre ne doit pas être vide ! Fetchmail provoque une erreur
lorsqu'il essai de redistribuer les mails locaux.
Chapitre 4. Réception du courrier par FetchmailChapitre 4. Réception du courrier par FetchmailChapitre 4. Réception du courrier par FetchmailInstallationInstallationJ'ai installé fetchmail-5.9.11-1.i386.rpm récupérée directement sur le site de fetchmail
(370ko). 5 minutes avec un modem. Le plus pratique reste d'utiliser votre distribution.
(Simplement, je n'avais pas mes CD sous la main.)Répertoire /usr/bin/ : fetchmail et fetchmailconf.Par défaut, chaque utilisateur a un fichier de configuration ".fetchmailrc".
Dans notre cas il est plus simple de créer un unique fichier "/root/.fetchmailrc".
Seul root pourra y acceder, ce qui n'est pas plus mal, car les mots de passe pour les
serveurs SMTP y sont en clair. C'est automatique, si root lance "fetchmailconf". Par ailleur,
fetchmail étant lancé par "ip-up.local", un processus root, il ira chercher sa configuration
dans le répertoire "/root/". (Bref, "/root/" est donc préferable à "/etc/".)Parler des MDA, par défaut fetchmail utilise "smtpd". Est-il préferable d'utiliser
"procmail" ? plus économique ? (voir Chapitre 8. Question restantes)Forme du fichier de configurationForme du fichier de configurationCe fichier est fait pour ressembler à de l'anglais courrant. (Cela n'avancera pas beaucoup
ceux qui ne le parle pas.)
set option_générale
set ...
set ...
poll serveur with protocol timeout ...
user 'user' there with password 'PwdMessagerie' is 'utilisateur' here options pass8bits ...
user ...
poll ...
user ...
user ...
.paramètresparamètres
set syslog. Option générale. Enregistre l'activité de fetchmail avec le reste des informations du
système. C'est pratique : vous n'avez pas de fichiers de log à gérer vous même et vous
pouvez retrouver des informations avec des outils standards. Très utile en cas de problèmes.
set daemon. Option générale. Définie le temps en secondes entre les récupérations
de courrier. Avec une valeur de 300 (5x60), fetchmail se connecte sur les serveurs POP3 toutes
les 5 minutes pour récuperer les courriers. Attention, si cette option n'est pas définie, alors
fetchmail se lance en premier plan (foreground.) C'est pour cela qu'on trouve parfois dans les
script "fetchmail &" (le & permet de lancer l'application en arrière plan.)
POLL serveur. Indique le nom du serveur POP3 (ou IMAP, ...) où récuperer le courrier.
votre serveur POP []
with proto. Dans le contexte "... poll ... with proto POP3 ... user ...". Défini le protocole
a utiliser. Dans la majorité des cas, c'est "POP3". Autant le spécifier directement. Sinon,
valeur "AUTO", il essaie "IMAP" puis "POP3".
timeout. Dans le contexte "... poll ... with ... timeout 100 ... user ...". Défini en seconde
le temps pendant lequel fetchmail attend une réponse du serveur POP. Au dela, il passe
au serveur suivant. Une valeur de 100 - 300 est correcte.
user. Indique le nom du compte de messagerie sur le serveur POP3 (ou IMAP, ...) où
récuperer le courrier pour un utilisateur. votre compte de messagerie []
options pass8bits. Dans le contexte "user ... options pass8bits ...". Permet de palier un problème de MS-Outlook.
Inutile si aucune des personnes qui vous envoient des courriers n'utilise MS-Outlook.
Chapitre 5. Outils de configurationChapitre 5. Outils de configurationChapitre 5. Outils de configurationIl existe au moins 4 solutions pour configurer Postfix et/ou fetchmail. Il suffit
d'en choisir une !Les outils les plus clairs et les plus pratiques (à mon gout) sont Webmin pour Postfix et
Fetchmailconf (pour fetchmail évidement). Cependant, il n'est pas encore possible d'obtenir
une configuration satisfaisante sans éditer un fichier texte (notamment pour les scripts.)Dans la section intitulée “Manuel”, j'essaierai de voir ce que font chacun de ces outils.Actuellement, le plus rapide, si votre cas d'utilisation correspond d'assez près au mien,
est de faire des copier/coller directement dans les fichiers et de remplacer vos noms, serveurs ...
par les votres.Il est intéressant de constater que chaque outils oriente vers une solution particulière.
Par exemple, Linuxconf place le serveur SMTP du FAI dans la rubrique "Spam control". Cela montre
qu'ils n'avaient pas en tête le même usage de ce parametre que d'autres. Peut être sont-ils plus
orienté "serveur connecté en permanence" que "pauvres utilisateurs avec un modem RTC" ...
Mandrake propose un assistant pour Postfix, il est encore trop simple
pour être utile, mais ces assistants ont de l'avenir.Un des problèmes de ces outils est le respect des fichiers de configuration. En effet, dans ces
fichiers, chaque paramètre est précédé d'un commentaire. Mais les outils ne respectent
pas cette disposition : ils mettent tous les paramètres à la fin (en vrac.) Vivement le format
XML, qui permettra de grouper facilement les paramètres et leurs explications ! (Mais je ne sais
même pas si c'est en projet !)Wizdrake (Mandrake) 2.0.10Wizdrake (Mandrake) 2.0.10"Wizdrake : Postfix wizard", le plus simple. En deux questions c'est configuré !
Bien sur ça ne marchera que pour de rares personnes et sous des conditions particulieres.
Mais c'est un début : les assistants ont de l'avenir.
•Lancement par le menu Configuration / Networking
ou par le bureau : icone "Mandrake Control Center". Cliquer "Server Configuration", puis
Postfix.•Dans "Outgoing Mail Address", entrer par exemple "laposte.net", "free.fr"
ou "wanadoo.fr", c'est l'adresse à laquelle vous voulez que vos
correspondants vous repondent.•Dans "Internet Mail Gateway" entrer le nom du serveur smtp de votre
fournisseur d'accès Internet. Paramètre 'relayhost'.
Linuxconf 1.27Linuxconf 1.27Installation. Par défaut, les modules Postfix et Fetchmail ne sont pas installés :
•Lancement par le menu Configuration, puis Other.•Onglet "Control", bouton "Linuxconf management". bouton "Modules"•dans la liste cocher "postfixconf" et "fetchmailconf".
Linuxconf peut s'utiliser sous X, mais il a aussi une interface
agréable en mode texte et permet une administration à distance. Seule la consultation de l'aide
n'est pas très pratique. Surtout comparée à Webmin.Postfix.
•Onglet "Config" bouton "Networking". Onglet "Server tasks" bouton
"Postfixconf". (Ils auraient pu mettre la même icone que dans Webmin.)•bouton "Basic information" onglet "Sending mail" dans le champ
"Origin" : cocher "domain". Paramètre 'myorigin'•bouton "Spam controls", onglet "Additional UCE controls" dans le champ
"Relay host" : "smtp.free.fr" le nom du serveur smtp de votre fournisseur
d'accès. Paramètre 'relayhost' (Est-ce vraiment sa place ?)•bouton "Table location", dans le champ "Canonical maps" entrer
"hash:/etc/postfix/canonical". Paramètre 'canonical_maps'
.•bouton "Canonical tables", cliquer sur le nom du fichier et ajouter dans
"name" : "paul@mondom.net" le nom de votre utilisateur@domaine et dans "address" :
"paul.vernay@laposte.net" l'adresse à laquelle vous voulez qu'on vous réponde.
Recommencer pour chaque utilisateur.•bouton "Controle delivery rates".
"Defer transports" : "smtp". Paramètre 'defer_transports' (Tous les autres
parametres du formulaire seront inclus dans le fichier de configuration, même si on ne le
veut pas vraiment.)
Fetchmail. Linuxconf met le fichier de configuration dans "/root/.fetchmailrc".
•Onglet "Config" bouton "Networking". Onglet "Client tasks" bouton
"Remote mail servers (Fetchmail)". (Pas d'icone : c'est plus simple.)•bouton "Basic", (la fenetre d'aide est bien trop petite !)
•"Poll interval in second" : "300".
Paramètre 'daemon'•Onglet "Log configuration" : cocher "to system log".
Paramètre 'syslog'.•Les autres options sont bien par défaut.
•bouton "Mail servers". bouton "Add"
•"Mail server to access" : "pop.free.fr" puis "pop.laposte.net".
Paramètre 'poll'•"Protocol" : "POP3". Paramètre 'protocol'.
•bouton "Users". cliquer sur un des serveurs que vous venez de rentrer puis sur
le bouton "Add" pour ajouter les comptes.
•"Remote user name" : "paul.vernay". Paramètre 'user'.•"Remote user password" : "PwBvLapo"•"Local user name(s)" : "paul". votre compte utilisateur []•Par sécurité au début, vous pouvez cocher "Don't delete message from server".
Si vous les perdez sur votre machine, ils seront quand même toujours sur le serveur.•Onglet "Delivery", sous-onglet "Remote", vous pouvez préciser un "local mail delivery
agent". C'est la qu'on peut mettre "procmail", mais je n'ai pas réussi à le faire marcher.
(Par défaut, c'est smtpd.)•Il y a pleins d'options compréhensibles, n'hésitez pas à les parcourir pour regler
de petits soucis. Mais pour l'aide, ils vous renvoient à "man fetchmail".
Webmin 0.92Webmin 0.92Installation. Dans le cas d'une machine locale, le plus simple est de lancer une consolle sous X, puis
se loger en root (commande "su") et lancer "webmin". Sinon, le service "Webmin" doit tourner
sur la machine à configurer. Avec un navigateur aller à "https://localhost:10000",
se loger en root. Attention aux mises-à-jour de sécurité ! Il est possible de choisir la langue.
Onglet "Webmin" : bouton "Webmin Configuration", bouton "Langue".Postfix.
•Onglet "Servers" bouton "Postfix Configuration".
(Ils auraient pu mettre la même icone que dans Linuxconf.) Il y a une version
en Francais, mais l'aide reste en anglais.•icone "General Options" : "What domain to use in outbound mail" :
cocher "Use domainname". Paramètre 'myorigin'.•icone "General Options" : "Send outgoing mail via host" : cocher et entrer
"smtp.free.fr" le nom du serveur smtp de votre fournisseur (FAI).
Paramètre 'relayhost'
(n'oubliez pas tout en bas le bouton "save".)•icone "Canonical Mapping",
champ "Address mapping lookup tables" : "hash:/etc/postfix/canonical"
Paramètre 'canonical_maps'
(il est pratique de copier/coller depuis la fenetre d'aide.)
(n'oubliez pas de cocher et bouton "save".)•icone "Canonical Mapping", bouton "Edit a canonical map" puis/ou "new mapping" :
ajouter "Name" = "paul@mondom.net" et "Maps to ..." = "paul.vernay@laposte.net"•icone "Delivery rates",
champ "Transports that should not be delivered" : "smtp"
Paramètre 'defer_transports'
Fetchmail. Il n'y a pas de liens sur l'aide, comme dans le module de Postfix ! Et en plus au moment
d'enregister j'ai systématiquement "Failed to save server : Missing or invalid server name" !
car il n'accepte qu'une forme "195.32.15.54" et pas "pop.free.fr" ... Pas de version française
bien sur.
•Onglet "Servers", bouton "Fetchmail Mail Retrieval"•Lien "Module Config" (en haut à gauche.)•Champ "Fetchmail config file to edit" : entrer "/root/.fetchmailrc".
Voir fichier '.fetchmailrc' [].•Les valeurs par défaut sont OK, cocher et bouton "save".
•Onglet "Servers", bouton "Fetchmail Mail Retrieval". Lien "Add a new server".•"Server name" : "pop.laposte.net". Paramètre 'poll'•"Protocol" : "POP3". Paramètre 'protocol'.•"Remote user" : "paul.vernay". Paramètre 'user'•"Remote password" : "JeNeVaisPasMeFaireAvoir"•"Local user(s)" : "paul". votre compte utilisateur []•"Leave messages on server?" : "Yes" (Par sécurité au début.)
Il n'est pas possible de configurer de nombreux parametres. Ce module ne semble pas fini !
Fetchmailconf (1.40)Fetchmailconf (1.40)C'est sans doute le meilleur moyen de configurer fetchmail.
•Bouton "Configure fetchmail", bouton "Expert configuration" (vous pouvez commencer
par "Novice configuration", certaines options ne seront pas disponible mais ce n'est pas
catastrophique.)•Fetchmail run control
•"poll intervall" entrer "300". Voir Paramètre 'daemon'.•Cocher "Log to syslog". Voir Paramètre 'syslog'.
•Remote mail server configuration : Entrer le nom de votre serveur POP3 :
"pop.free.fr", puis "pop.laposte.net". Voir Paramètre 'protocol'.
Appuyer sur "Entrée" ou "Edit" et la fenetre des options du serveur apparait :
•Run control : vous pouvez baisser le "server timeout" à 100 secondes.
Paramètre 'timeout'•Protocol : cocher "POP3" Paramètre 'protocol'.•Entrer un "new user" : "paul.vernay", puis "joe.pantin". Paramètre 'user'.
Cela ouvre la fenetre des options de ce compte. (Rappel : pour deplacer une fenetre trop grande,
maintenir le bouton "Alt" de gauche et faire glisser la fenetre.)•Authentication : "Password" : "****" mot de passe pour ce compte de
messagerie•Local names : supprimer "paul.vernay" qui a été entré par défaut et
entrer "paul". votre compte utilisateur []. (N'oubliez pas "Entrée".)•Processing option : par sécurité vous pouvez cocher "Suppress
deletion of message after reading".
ManuelManuelLes fichiers de configuration sont dans /etc/postix/ et /etc/ppp/
Ce que fait "Wizdrake"Ce que fait "Wizdrake"
Ajout à la fin du fichier main.cf (Il est dommage de tout ajouter à la fin : tout le fichier contient
des commentaires avec chaque parametre. Méfiez-vous si vous modifier un de ces parametres, qu'il
ne soit pas écrasé à la fin du fichier ...)
# Other configurable parameters.
myhostname = localhost.mondom.net
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, $mydomain
relayhost = smtp.free.fr
masquerade_domains = $mydomain
alias_database = hash:/etc/postfix/aliases
virtual_maps = hash:/etc/postfix/virtual
canonical_maps = hash:/etc/postfix/canonical
Ajout à la fin du fichier canonical :
@mondom.net @laposte.net
Le résultat de cette configuration "simplissime" est que les courriels de l'utilisateur
"paul" sont envoyés à "paul@laposte.net" au lieu de "paul.vernay@laposte.net" !
ip-up contient d'origine (au moins dans la Mandrake) :
if [ -x /usr/sbin/sendmail ];then
/usr/sbin/sendmail -q 2>/dev/null11Masquer les messages d'erreurs. >/dev/null22Masquer les
messages normaux. &33Lancer en tache de fond.
fi
Ce que fait LinuxconfCe que fait LinuxconfPostfix. Ajout à la fin du fichier main.cf (Il est dommage de tout ajouter à la fin : tout le fichier
contient des commentaires avec chaque parametre. Méfiez-vous si vous modifier un de ces
parametres, qu'il ne soit pas écrasé à la fin du fichier ...)
# Other configurable parameters.
relay_domains=
canonical_maps=hash:/etc/postfix/canonical
relayhost=smtp.free.fr
defer_transports=smtp
maximal_backoff_time=4000
maximal_queue_lifetime=5
minimal_backoff_time=1000
queue_run_delay=1000
myorigin=$mydomain
mydestination=
masquerade_domains=$mydomain
Ajout à la fin du fichier canonical :
paul@mondom.net paul.vernay@laposte.net
joe@mondom.net joe.pantin@mondom.net
fetchmail.
set logfile ""
set syslog
set postmaster ""
set daemon 300
poll pop.free.fr with protocol POP3, with options
user "paul.vernay" there with password "****" is paul here
with options keep rewrite mimedecode pass8bits
poll pop.laposte.net with protocol POP3, with options
user "paul.vernay" there with password "****" is paul here
with options keep rewrite mimedecode pass8bits
user "joe.pantin" there with password "***" is joe here
with options keep rewrite mimedecode pass8bits
Ce que fait WebminCe que fait WebminPostfix. Ajout à la fin du fichier main.cf (Il est dommage de tout ajouter à la fin : tout le fichier
contient des commentaires avec chaque parametre. Méfiez-vous si vous modifier un de ces
parametres, qu'il ne soit pas écrasé à la fin du fichier ...)
# Other configurable parameters.
myorigin=$mydomain
relayhost = smtp.free.fr
canonical_maps = hash:/etc/postfix/canonical
defer_transports = smtp
Ajout à la fin du fichier canonical :
paul@mondom.net paul.vernay@laposte.net
joe@mondom.net joe.pantin@mondom.net
fetchmail. Les adresses IP sont bidons, il faudra les remplacer manuellement par "pop.laposte.net"
et "pop.free.fr". De plus webmin donne au fichier des droits d'execution (700) alors que
seul (600) sera accepté par fetchmail !!
defaults
proto pop3
poll 195.21.21.15
user "paul.vernay"
pass "**"
is paul
keep
poll 195.21.21.15
proto pop3
user "joe.pantin"
pass "bruno"
is joe
keep
poll 165.21.32.41
proto pop3
user "paul.vernay"
pass "***"
is paul
keep
Ce que fait fetchmailconfCe que fait fetchmailconffetchmail.
set syslog
set postmaster "postmaster"
set bouncemail
set no spambounce
set properties ""
set daemon 300
poll smtp.free.fr with proto POP3 timeout 100
user 'paul.vernay' there with password 'totoprout' is 'paul' here
poll smtp.laposte.net with proto POP3 timeout 100
user 'paul.vernay' there with password 'totiy' is 'paul' here
user 'joe.pantin' there with password 'xkjhbgjh' is 'joe' here
Ce que vous devriez faireCe que vous devriez fairePostfix.
# Other configurable parameters.
myorigin=$mydomain
relayhost = smtp.free.fr
canonical_maps = hash:/etc/postfix/canonical
defer_transports = smtp
Ajout à la fin du fichier canonical :
paul@mondom.net paul.vernay@laposte.net
joe@mondom.net joe.pantin@laposte.net
fetchmail. Le timeout par défaut est de 300 (5 minutes.)
set syslog
set daemon 300
poll pop.laposte.net with proto POP3 timeout 100
user 'paul.vernay' there with password '**' is 'paul' here options pass8bits
user 'joe.pantin' there with password '**' is 'joe' here options pass8bits
poll pop.free.fr with proto POP3 timeout 100
user 'paul.vernay' there with password '**' is 'paul' here options pass8bits
script. Dans "/etc/ppp/" deux scripts sont exécutés automatiquement, "ip-up" lorsque la connection Internet est établie
et "ip-down" lorsque la connection est coupée. On ne va pas risquer de modifier ces scripts directement.
On fera les changements dans des scripts auxiliaires : "ip-up.local" et "ip-down.local".
Seule les trois lignes qui lancent sendmail dans "ip-up" doivent être mise en commentaire ou supprimées !
Pour créer ces fichiers si ils n'existent pas dans "/etc/ppp", le plus simple est de faire une copie
de ip-up ("cp ip-up ip-up.local"). Si vous les créez de toute piece, il faudra leur donner des droits
d'executions et qu'ils appartiennent à root.
ip-up.local.
#!/bin/bash
# On recoit les mails (POP) puis on les envoie (SMTP)
# Les serveurs acceptent mieux dans cet ordre, car POP permet l'identification. (Voir "MUO: Mail the Unix Way")
# Petit delai pour la connexion, DNS ...
sleep 10
# 1) Recuperation du courriel
# Ces script sont appeles par des processus root, donc fetchmail utilise le fichier "/root/.fetchmailrc"
/usr/bin/fetchmail
# 2) Envoi du courriel
/usr/sbin/postfix flush
/usr/sbin/postconf -e defer_transports=
/usr/sbin/postfix reload
exit 0
ip-down.local.
#!/bin/bash
/usr/sbin/postconf -e defer_transports=smtp
/usr/sbin/postfix reload
/usr/bin/fetchmail -q
exit 0
Note : "postfix reload" est indispensable après "postconf -e defer_transports..."
on trouve parfois l'erreur dans d'autres HowTo ! voir Chapitre 8. Question restantes.
Chapitre 6. Client, lecteur de courrierChapitre 6. Client, lecteur de courrierChapitre 6. Client, lecteur de courrierIl existe de nombreux clients de courriel. Pour l'instant, je commence avec le client par défaut
de KDE. J'ajouterai au moins Mozilla et Evolution, le client par défaut de Gnome.Même en utilisant une boite locale, les clients enlèvent les courriers de la boite pour
les afficher. Donc un courrier récupéré par Kmail ne sera pas visible par Evolution et inversement.
Je n'ai trouvé ni sur l'un, ni sur l'autre d'option "Laisser sur le serveur", alors que cette
option est mentionnée dans l'aide !Kmail (KDE)Kmail (KDE)Boite locale, securité, Adresse de retour.Menu "Configuration", "Configurer kMail"
•"Identité"
•"Nom" : champ libre, sans importance.•"Adresse électronique" : par exemple "paul.vernay@laposte.net".
votre compte de messagerie [].•"Adresse de réponse" : laisser vide.
•"Réseau"
•Onglet "Envoi des messages" : cocher "Sendmail" ou "SMTP".•"Messages entrants" : ajouter un compte de type "boite locale". Entrer un
nom de boite (exemple "LocalPaul"). Laisser le répertoire par défaut
(/var/spool/mail/paul) et cocher "FCNTL" pour la sécurité.
Lorsque kmail "lit" les courriers, ils sont retirés de "/var/spool/mail/paul" pour aller dans
"/home/paul/Mail/"
fichier de configuration "~/.kde/share/config/kmailrc"Je cite et traduis l'aide :
•6.21 Puis-je utiliser KMail et procmail ?
Oui, mais il est important de le faire correctement pour ne pas perdre de courriers.
Pour utiliser procmail et KMail, vous devez configurer KMail pour qu'il recupere les nouveaux
courriers depuis les spoolfiles dans lesquels procmail envoie vos courriers.
Ne configurer pas procmail pour envoier les courrier dans un répertoire de KMail, cela ne peut pas
fonctionner. Pour chaque spoolfile de procmail, vous devez créer un compte depuis lequel kMail viendra
récuperer les nouveaux courriers. Vous devez aussi être certain de spécifier le bon nom de lockfile
pour ce compte. Quand vous configurez un compte, KMail essaira d'analyser un minimum votre fichier
procmail, et essaira de lister tout les spoolfile qu'il trouve, ainsi que les lockfiles
à coté des éléments "procmail lockfile". procmail laisse l'utilisateur spécifier les lockfiles
de trois manieres différentes, donc il n'y a aucun moyen d'établir une correspondance entre
les spoolfiles et les lockfiles. Donc c'est réellement à vous de vous assurez que vous spécifiez
le bon lockfile pour chaque spoolfile.•6.28 KMail verouille-t-il (lock) les répertoires qu'il utilise ?
KMail ne verouille pas les fichier dans ~/Mail.
Pour éviter les risques de perdre des courriers si on utilise un compte local, il est nécessaire de
s'assurer que kMail utilise le même type de verouillage que votre MDA (mail delivery agent)
Il y a cinq options que vous pouvez utiliser :
•Mutt dotlock (recommended)•Mutt dotlock privileged•Procmail lockfile•FCNTL (default)•none (use with care)
•Mutt dotlock and Mutt dotlock privileged vont tout deux utiliser un petit
utilitaire livré avec mutt appelé mutt_dotlock. Mutt dotlock peut être utilisé de la
même façon que le Procmail lockfile option, avec la même limitation concernant le
répertoire /var/spool/mail/. Toutefois, le Mutt dotlock privileged option peut créer un
fichier de verouillage dans /var/spool/mail. mutt_dotlock est un programme à setgid et
cette option fonctionnera en mode setgid. Notez que cette option ne fonctionnera que si
mutt est installé sur votre système.•Le fichier de verouillage de Procmail utilise un petit utilitaire livré avec
procmail appelé lockfile. Vous pouvez l'utiliser si vous avez des permissions en écriture
dans votre répertoire de courrier. Cela ne marchera pas sur votre fichier /var/spool/mail/user
dans la pluspart des cas. Cela créera des fichiers .lock sur votre compte quand kMail
recupere de nouveaux courriers. Noter que cela ne fonctionnera que si procmail est
installé sur votre système.•FCNTL: l'option par défaut utilise l'appel systeme fcntl().•Si vous ne voulez pas utiliser de verouillage choisisser "none", mais vous
prenez le risque de perdre des courriers
Evolution (GNOME)Evolution (GNOME).Identity, Receiving, Sending.Menu "Tools", "Mail settings"
•"Identity"
•"Full name" : champ libre, sans importance.•"Email address" : par exemple paul.vernay@laposte.net. votre compte de messagerie [].
•"Receiving"
•"Server type" : "Local delivery" ou "Standard Unix mbox spools" ?•"Path" : Par défaut : "/var/spool/mail/paul"
•"Sending Email"
•"Server type" : "Sendmail" ou SMTP
MozillaMozillabientot
Chapitre 7. ReferencesChapitre 7. ReferencesChapitre 7. ReferencesLast update : 03-01-2003Sans ordre particulier !
•The Postfix Home page [http://www.postfix.org/].•Red Hat Postfix FAQ [http://www.redhat.com/support/resources/faqs/RH-postfix-FAQ/book1.html]
2000 by Chuck Mead for Red Hat, Inc.•Red Hat Postfix HOWTO [http://www.redhat.com/support/resources/howto/RH-postfix-HOWTO/book1.html]
2000 by Red Hat, Inc. We will be exploring best practice and usage conventions for three
primary environments. The home user, the office, and the ISP. All assumptions are based
upon the usage of Red Hat Linux 6.1 (Cartman) but should be applicable to Red Hat Linux 6.2
(Zoot), as well. Ca date un peu donc ...•dialup tips [http://postfix.home.dhs.org/dialup.html]
v 0.3 2002/02/19, Matthias Andree. (2 pages.) For using Postfix in a dialup machine (or generally,
machines without permanent connection to the internet). His
site [http://postfix.home.dhs.org/] contains other documentation.•Fetchmail Home page [http://www.tuxedo.org/%7Eesr/fetchmail/].•Linuxconf Home page [http://dns.solucorp.qc.ca/linuxconf/].•Webmin Home page [http://www.webmin.com/].•Serveur de messagerie
autonome avec Postfix et Fetchmail [http://www.linux-france.org/article/mail/serveur-mdk/] v1.1, Février 2002. Charles Vejnar. (8 pages.) Installation,
configuration (Postfix, fetchmail), script de connexions, administration et statistiques d'utilisation.• Technique d'installation et configuration
d'un serveur Postfix sur Linux et des services pop3 et Imap [http://www.linux-france.org/prj/edu/archinet/MTA/index/book1.html] 20/01/2002. Alix MASCRET. (20 pages.) Installation,
Architecture, configuration, PostOFFICE POP3, IMAP, SMTP.•Postfix + Fetchmail (envoyer et recevoir son courrier) [http://gulg.ariasnet.net/mail.html]
Voici un petit « digest » qui permet de mettre en route l'envoi et la réception de courriels sur une station de travail ou un serveur Linux.
31 mars 2002. stephane-Martin@wanadoo.fr. (6 pages.) (Attention, les solutions préconisées ici ne
font pas l'unanimité !)•Poster et recevoir du courrier avec Postfix [http://www.linux-france.org/article/mail/postfix-jaco/]
Version 0.7 -- 29 octobre 2000 Éric Jacoboni. (18 pages.) Ne parle que de Postfix, compillation, installation (Debian, FreeBSD)
configuration (ligne de commande.) Bonnes explications, mais manque d'éléments essentiels (Fetchmail,
lancement automatique par ip-up et configuration des clients.)•Installer un système de mail complet et sécurisé [http://ben.reynerie.yi.org/mail/serveur_mail.htm]
v0.2, 29 Avril 2002 Benjamin Pineau. (18 pages.) Ce document détaille le processus
d'installation d'un serveur de mail le plus complet possible, sur la base de postfix et
Washington imap. Le postfix supportera le SSL (TLS), l'authentification SMTP (SMTP AUTH),
fera du relais sélectif, filtrera les spams via RBL et filtrera les virus. Le wu-imap fera
du pop3, de l'imap, supportera le SSL l'authentification par APOP, Cram MD5 et Digest MD5.
Pour finir on y adjoindra un petit webmail.•Mail The Unix Way [http://www.mandrakeuser.org/docs/connect/index.html#mtuw]
Conseils Mandrake. Mar. 25, 2002, Tom Berger. Excellent guide. (15 pages.) Introduction, fetchmail,
postfix, procmail.•Le serveur de courrier Postfix [http://www.linux-mandrake.com/en/doc/82/fr/server.html/service-smtp.html]
Mandrake Linux 8.2: Manuel de référence serveur. Mars 2002 par MandrakeSoft.
Configuration de postfix avec Webmin (orienté serveur.)•The Linux Mail User HOWTO [http://www.tldp.org/HOWTO/Mail-User-HOWTO/]
22 February 2001, Eric Steven Raymond. (10 pages.) Concentré sur les clients (Mutt, elm, emacs, bsd, ...).•The Linux Electronic Mail Administrator HOWTO [http://www.tldp.org/HOWTO/Mail-Administrator-HOWTO.html]
v3.2, January 2000, Guylhem Aznar. Concentré sur les serveurs (Sendmail, qmail, smail, ...).•Exposé sur le SMTP et POP3 [http://christian.caleca.free.fr/smtp/]
En français avec des beaux schémas, un chapitre sur Postfix. Très clair et intéressant. Difficilement imprimable
et date de mise à jour inconnue.•Arobase.org [http://www.arobase.org/] Site pour débutant sur
le courrriel en francais. (très peu d'info techniques.)•F.A.Q E-MAIL ET NEWSGROUPS INDEPENDAMMENT DU PROVIDER (AOL COMPRIS) [http://www.manfr.willemijns.com/]
Version 3.91 beta, 27 Janvier 2002 par Sebastien WILLEMIJNS. En français, mais texte brut (pas de html) voir le chapitre "POP BEFORE SMTP".•Rubrique Messagerie de Linux-France [http://www.linux-france.org/article/mail/]
Certains sont un peu vieux, pour d'autres le sujet est un peu éloigné, mais c'est une référence.
On y parle notamment d'antivirus !•SERVERMAIL [http://www.tldp.org/HOWTO/HOWTO-INDEX/apps.html#SERVERMAIL]
Listes des How-to "Serveur mail" sur "The Linux Documentation Project".•USERAPPS [http://www.tldp.org/HOWTO/HOWTO-INDEX/apps.html#USERAPPS]
Listes des How-to "Aplications Utilisateurs" sur "The Linux Documentation Project".
(La liste est un peu trop longue et variée.)•The MailHelp FAQ & HOWTO [http://www.moongroup.com/docs/mailhelp-HOWTO/]
1999, 2000 by MoonGroup Consulting, Inc. & Mr. C. S. Mead Jr. (12 pages.)
This document is a compilation of information dicussed on the mailhelp mailing list and the author's experiences.•Available Documentation about Electronic Mail [http://www.moongroup.com/pages.php?page=docs]
Une des meilleures liste de documents concernant le courriel sous Linux. (en anglais.)
Le fait que j'ai mis beaucoup de temps à la trouver montre que le référencement est bien la plaie
de L'Internet !•Newsgroups : Utiliser un des newsgroups de comp.mail.* ou fr.comp.mail. Et surtout pas comp.os.linux.* !•Vous avez encore un disque dur à coté de votre modem ? Essayez /usr/share/doc/postfix/
(si votre distribution respecte le Filesystem Hierarchy Standard
Architecture [http://www.pathname.com/fhs/].)•Antivirus : Amavis [http://www.amavis.org/] et
PLDaniels [http://www.pldaniels.com/] Inflex (free) and XaMiME ($$$).
There is a general Open Antivirus [http://www.openantivirus.org/].
A référence : News Forge [http://newsforge.com/article.pl?sid=02/05/14/1249251&mode=thread&tid=23].
•Step by step HOWTO setup the virtual part of postfix [http://kummefryser.dk/HOWTO/mail/postfix_mysql.html]
09/05-2002 Daniel Villefrance Pedersen (4 pages). Requier déjà de bonnes connaissances.
Postfix install(main.cf, Config files) ; MySQL setup ; Table explanation (transport, aliases,
remote_aliases)
•Mail Queue HOWTO [http://www.linuxdoc.org/HOWTO/mini/Mail-Queue.html]
v2.03, 2001-12-17, par Leif Erlingsson et Jan P Tietze. Ne concerne que sendmail 8.8.7 ! (Queue
Remote Mail + Deliver Local Mail The Configuration Changes Neccessary to Make Sendmail Deliver
Local Mail ***Now*** While Stashing Remote Mail in The Queue Until "I Say So".)•UCT Linux User's group page on configuring sendmail
for Dial-up connections. [http://www.leg.uct.ac.za/Articles/sendmail_dialup.html] June 26 1997 par Michael-John Turner du University of Cape Town Linux Enthusiasts Group (LEG)
Ne concerne que Sendmail ! (Courtes explications, un peu vieux.)•PPP-HOWTO [http://tldp.org/HOWTO/PPP-HOWTO/]
Corwin Light-Williams, Joshua Drake 2000. Concerne la connexion. Notamment la configuration
avec Linuxconf.•Ecrivez-moi [mailto:bruno.vernay@laposte.net] pour ajouter une référence.
Je vais essayer de maintenir cette liste à jour, de la classer et d'ajouter un peu de RDF (comme dmoz [http://dmoz.org/],
Dublin Core metadata editor [http://www.ukoln.ac.uk/metadata/dcdot/]) et
de traduire tout en anglais.
Chapitre 8. Question restantesChapitre 8. Question restantesChapitre 8. Question restantesLast update : 19-06-2002Question restantes : n'hésitez pas m'envoyer des réponses :
bruno.vernay@laposte.net [mailto:bruno.vernay@laposte.net].
•possible de tester si on trouve smtp.free.fr (avec "dig smtp.free.fr" par
exemple) avant de lancer "/usr/sbin/postfix flush" ? (Car si on lance cette
commande tout de suite dans "ip-up", les logs indiquent une erreur :
"Name service error for smtp.free.fr : Host not found".)•Comment faire un script que les utilisateurs puissent lancer pour :
se connecter, envoyer/recevoir les courriers et couper la connexion.Pour se connecter : "ifup ppp0" et "ifdown ppp0" ou avec pppd : "ppp-on" et "ppp-off"
ou avec linuxconf : "netconf --connect pppsetup". On trouve un
exemple
de script [http://www.linux-france.org/article/mail/serveur-mdk/config.html#AEN202], mais je ne comprend pas tout ...
•Comment faire pour que le courrier reste sur le serveur du FAI tant qu'il
n'est pas explicitement supprimé par le client ?
On peut mettre l'option -keep pour Fetchmail. On peut alors recupérer les mails sur
un POP local (avec POPA3D par exemple) et ainsi activer l'option "ne pas effacer du serveur"
des clients mails (cette option n'est pas disponible avec une boite locale.) La question devient : comment effacer le mail du serveur lorsqu'il est effacé du client ?•Possibilité d'utiliser plusieurs clients de courrier, un jour KDE, l'autre jour Gnome.
Si un client récupere le courrier dans un répertoire qui lui est propre, ce courrier devient
inaccessible pour un autre client !Il semble que ca ne soit pas possible avec des mailbox
locale (de type unix.) Les clients utilisent la mailbox juste pour rapatrier les courriers
dans une arborescence qui leur est propre. Il faudrait donc installer un serveur POP local
(popa3d par exemple ?) Sur lequel les clients vont récupérer les courriers. Cela implique
aussi qu'il n'y aura pas de réel partage, mais plutôt de nombreuses copies des même courriers.•Pourquoi seule l'option "FCNTL" fonctionne dans la configuration de kmail
? (Erreurs avec procmail et mutt. Non installé ?)•"Vacation Mail Service", onlget "Others" dans Webmin ??•Webmin 0.92 : (Je viens de découvrir ça) La présentation est très claire
et rend les choses plus accessibles. Le nombre d'icones donne le vertige (on
peut faire tout ça avec Linux ?) les programmes non installés devraient quand
même apparaitre en grisé. Pourquoi utiliser des images pour les grands titres ??
c'est lent et inutile. Attention, les navigateurs enregistrent les saisies, quand on a
saisie un mot de passe une fois, si on revient sur la zone, il réapparait, même si on
l'avait supprimé.•Versions précedentes de Mandrake ?•qmail semble bien aussi ?•Fetchmail redistribue les messages locaux par SMTP par défaut.
Quand j'ai voulu utiliser procmail, j'ai l'impression qu'ils ont été
dans /home/paul au lieux de /var/spool/mail/paul. A confirmer.•Quelle différence entre /home/bruno/Mail et /var/spool/mail ?
qui utilise quel répertoire ? (mail, Evolution ...)•Comment sont gérés les mails : archivage, mails en erreur,
taille des BAL ... Une piste [http://www.postfix.org/faq.html#queue_maint]
Un début de réponse : mailq donne le "queue ID" et postsuper -d <queue ID>
supprime les messages en quesion. Exemple : postsuper -d ALL deferred•Fetchmail rempli un fichier "/root/.fetchids" avec tous les id
des mails récupérés lors de la session. Est-il sa place dans "/root/" ? Peut-il grossir
indéfiniment ? Le paramêtre qui le controle est "set idfile".•Pour Postfix, le fichier "transport" doit pouvoir diriger vers le serveur SMTP
du FAI, mais je n'ai pas trouvé comment ? De plus ce n'est pas une solution très employée.•Quel est l'intéret des "[]" dans le nom du serveur smtp pour Postfix ?
C'est lié au DNS, mais encore ...•Quid des antivirus ? Je n'ai pas trouvé (ni cherché) beaucoup d'info.•Pour moi, le "postfix reload" est utile après "postconf -e defer_transports=", comme
indiqué dans
The MailHelp FAQ & HOWTO [http://www.moongroup.com/docs/mailhelp-HOWTO/c176.html#AEN486]. Mais tout le monde ne semble pas le trouver nécessaire.
Cela dépend-il de la version ?•Je n'ai pas bien compris l'option "POP3: track 'seen' with client-side UIDLs"•Un bon titre pour cet HowTo ???