|
このページは大阪弁化フィルタによって翻訳生成されたんですわ。 |
Cette conversion est simple pour un humain, mais pas pour un outil automatique de r馗olte d'adresses ; c'est par cons駲uent utile pour prot馮er nos g駭駻eux contributeurs des courriers non sollicit駸.
Des nouvelles versions (NDT : en anglais) de ce document seront post馥s r馮uli鑽ement sur comp.os.linux.announce, comp.answers et mail.answers. Elles seront 馮alement ajout馥s aux diff駻ents sites ftp anonymes qui archivent de tels documents comme par exemple sunsite.unc.edu.
De plus, vous pourrez trouver ce document sur la page du
Les remarques concernant le format actuel de ce document doivent 黎re
adress馥s au coordinateur des HOWTO : Tim Bynum (<howto at wallybox.cei.net>).
Nous allons maintenant nous int駻esser au flux d'informations qui se produit Voici un exemple :
From: "Alice" <alice@paysdesmerveilles.com> Message-Id: <199711131704.MAA18447@paysdesmerveilles.com> Subject: Avez-vous vu mon lapin blanc ? To: bob@dobbs.com (Bob) Date: Thu, 13 Nov 1997 12:04:05 -0500 (EST) 騁apes et la terminologie) :
+--------+ +--------+ +-------+ compose | | appelle | | | Alice |--------->| MUA |--------->| MTA |:::>::::: +-------+ |appelant| |appelant| :: sur la +--------+ +--------+ :: machine :: appelante ....................................................................... ::::>| MTA |--------->| LDA |===============>| de | sur la |recevant | | | | Bob | machine +---------+ +-----+ +-------+ recevante | | | | +----------------<-------------+ | | | +-----------+ +--------+ | | signaleur | | MUA de |<---------+ | de Bob | | Bob | +-----------+ +--------+ | | | +-----+ | +----->| Bob |<----+ sera sendmail, bien que quelques autres agents de transport deviennent de plus en plus populaire et puissent faire leur apparition dans de futures distributions Linux. Plus loin dans ce HOWTO, nous examinerons 馮alement le panorama des agents de transport. ressemble. Les lignes envoy馥s par la machine d'Alice sont marqu駸 par un E:, celle de la machine de Bob par un R:.parce que vous changez souvent de machine) fetchmail est probablement une solution meilleure que n'importe quelle lecteur de courrier int馮rant POP ou IMAP. Fetchmail peut se lancer en arri鑽e plan et r馗up駻er votre courrier p駻iodiquement, et votre xbiff(1) ou tout autre signaleur de courrier marchera comme si tout se passait par SMTP. De plus, fetchmail est beaucoup plus tol駻ant que les lecteurs de courrier envers les diff駻ents particularismes et non respect des standards des serveurs de messagerie, et il g鑽e mieux les erreurs.
E: MAIL FROM:<alice@paysdesmerveilles.com> R: 250 OK E: RCPT TO:<bob@dobbs.com> R: 250 OK E: DATA R: 354 Start mail input; end with <CRLF>.<CRLF> E: From: "Alice" <alice@paysdesmerveilles.com> E: Message-Id: <199711131704.MAA18447@paysdesmerveilles.com> E: Subject: Avez-vous vu mon lapin blanc ? E: >>alice>> E: . R: 250 OKD'habitude, une commande SMTP est une simple ligne de texte, et il en va de m麥e pour la r駱onse. La commande DATA est une exception : apr鑚 avoir lu la son courrier, il lance son propre agent d'utilisateur de courrier qui regarde et 馘ite ce fichier.
3.2 Signaleur de courrier
Un autre type de programme joue un r?e important dans la cha?e de distribution du courrier 駘ectronique, bien qu'il n'envoie pas ou ne lise pas de courrier. C'est le signaleur de courrier, un programme qui surveille votre bo?e aux lettres et vous signale l'arriv馥 de chaque nouveau courrier 駘ectronique.
la famille sh/ksh/bash, regardez les variables MAIL et MAILPATH.Les syst鑪es utilisant X sont livr駸 avec l'un des nombreux petits gadgets qui v駻ifient p駻iodiquement si de nouveaux courriers sont arriv駸, et vous le S: USER bob R: +OK bob S: PASS redqueen R: +OK bob's maildrop has 2 messages (320 octets) S: STAT R: +OK 2 320 S: LIST R: +OK 2 messages (320 octets) R: 1 120 R: 2 200 R: . S: RETR 1 R: +OK 120 octets R: <le serveur POP3 envoie le message 1> R: . S: DELE 1 R: +OK message 1 deleted S: RETR 2 R: +OK 200 octets R: <le serveur POP3 envoie le message 2> R: . S: DELE 2 R: +OK message 2 deleted S: QUIT R: +OK dewey POP3 server signing off (maildrop empty) S: <le client se d馗onnecte>
Voici un diagramme sch駑atisant les deux cas (avec et sans fetchmail) :
+--------+ +--------+ +-------+ compose | | appelle | | | Alice |--------->| MUA |--------->| MTA |:::>::::: +-------+ |appelant| |appelant| :: sur la +--------+ +--------+ :: machine :: appelante SMTP :: ::::>| MTA |--------->| LDA |============>| serveur |::::>:::: |recevant | | | | de Bob | :: sur le +---------+ +-----+ +---------+ :: serveur de :: courrier POP ou IMAP :: ::::::::::::::::::::::::::::<::::::::::::::::::::::::::::::::::::: :: .::........................................................................ :: :: +-----------+ :: | | :::::::>::::::::::::| fetchmail |:::::::: sur la :: | | :: machine :: +-----------+ :: recevante, :: :: avec fetchmail :: ::::::::::::::::<::::::::::::::::::: :: :: :: :: +---------+ +-----+ +-------+ :: | | :: | | :: +----------------<-------------+ | :: | | :: +-----------+ +--------+ | :: | signaleur | | MUA de |<--------+ :: | de Bob | | Bob | :: +-----------+ +--------+ :: | | .::........................................................................ :: . | | :: sans . | | :: fetchmail . | | :: . | +-----+ | :: +----------+ . +----->| |<----+ :: | MUA | . | Bob | :::::| POP/IMAP |----.--------->| | | de Bob | . +-----+ +----------+ .
Sous Unix, que pratiquement tous les lecteurs de courrier suivent la m麥e convention. Chaque ligne commen軋nt par From (attention, il y a un espace apr鑚 From) d饕ute un nouveau courrier. Si un comp.dcom.modems ou les diverses excellentes FAQ sur les modems et la communication s駻ie ainsi que les messages p駻iodiques sur USENET.
5. Choisir un agent de transport de courrier (MTA)
L'agent de transport de courrier est le programme qui transf鑽e le courrier de
(Il y a d'autres agents de transport Unix que ceux pr駸ent駸 ci-dessous, mais vous n'avez pratiquement aucune chance de les rencontrer sur une machine sur laquelle tourne Linux.)
Chacun de ces agents a ses propres fonctionnalit駸, mais le meilleur compromis est qmail. Il options pass馥s sur la ligne de commande de sendmail. C'est pratique pour les lecteurs de courrier qui supposent souvent qu'ils parlent avec sendmail.
5.2 smail v3.2
smail 2.5. Ce programme est obsol鑼e depuis longtemps. Ne vous emb黎ez pas avec lui.)5.3 qmail
Le programme qmail est un agent de transport de courrier compatible avec sendmail 馗rit
Une section expliquant comment remplacer votre agent de transport de courrier par exim sera bient? ajout馥.
6. Installation de l'agent de transport de courrier (MTA)
6.1 Qmail v1.03
partie difficile : la configuration est vraiment imm馘iate.Obtenir qmail
Allez sur www.qmail.org pour t駘馗harger la derni鑽e version.
D馗ompresser les sources
Ensuite, d馗ompressez le en tapant
mv qmail.tar.gz /usr/local/src cd /usr/local/src ; tar -zxvf qmail.tar.gzSi vous trouvez une version bz2 (qui est un nouveau et meilleur format de compression), remplacer tar par
bunzip2 qmail.tar.bz2 tar -xvf qmail.tarPr駱arer la compilation
Maintenant entrez dans le r駱ertoire qmail pour examiner la configuration par d馭aut :
# groupadd nofiles # useradd -g nofiles -d /var/qmail/alias alias # useradd -g nofiles -d /var/qmail qmaild # useradd -g nofiles -d /var/qmail qmaill # useradd -g nofiles -d /var/qmail qmailp # groupadd qmailPar exemple, vous pouvez respectivement ajouter
qmail:*:2107: nofiles:*:2108:et
alias:*:7790:2108::/var/qmail/alias:/bin/true qmaild:*:7791:2108::/var/qmail:/bin/true qmaill:*:7792:2108::/var/qmail:/bin/true qmailp:*:7793:2108::/var/qmail:/bin/true qmailq:*:7794:2107::/var/qmail:/bin/true qmailr:*:7795:2107::/var/qmail:/bin/true qmails:*:7796:2107::/var/qmail:/bin/trueMaintenant vous pouvez lancer
make setup checkpour tester votre configuration, ensuite
Si ce n'est pas le cas, vous pouvez donnez le nom de votre serveur directement via :
./config-fast ordinateur.lambda.frMaintenant, vous devez installer quelques alias, puisque
/etc/aliasFile : ".qmail-decode" &root File : ".qmail-dumper" &root File : ".qmail-games" &root File : ".qmail-ingres" &root File : ".qmail-mailer-daemon" &postmaster File : ".qmail-manager" &root File : ".qmail-news" &root File : ".qmail-nobody" &root File : ".qmail-operator" &root File : ".qmail-postmaster" &root File : ".qmail-root" &guylhem File : ".qmail-system" &root File : ".qmail-toor" &root File : ".qmail-uucp" &root File : ".qmail-uucp-default" |preline -dr /usr/bin/uux - -r -gC -a"${SENDER:-MAILER-DAEMON}" lm!rmail "($DEFAULT@$HOST)"Vous devez cr馥r chacun de ces fichiers dans
~aliasen rempla軋nt &guylhem dans.qmail-rootpar votre propre compte courrier par votre connexion UUCP !Maintenant vous devez d馗ider dans quel format vos utilisateurs recevront leur courrier.
Voici mon avis :
/var/spool/mail/$USER format, trop
peu s?.Pour corriger le format par d馭aut, lisez chacun des fichiers dans
/var/qmail/boot et copiez celui que vous pr馭駻ez vers
/var/qmail/rc.
home ou proc sont des choix s?s mais je pr馭鑽e home pour des
raisons de s馗urit駸.
Ici vous pouvez sp馗ifier le mode d'envoi par d馭aut, par exemple
#:alias-uucp
si vous ne voulez pas envoyer vos mail par UUCP mais par SMTP (c'est la configuration par d馭aut) ou
pour lancer qmail (軋 n'interf駻era pas avec votre agent de transport de courrier), ensuite
echo to: mon-identifiant | /var/qmail/bin/qmail-inject
Vous devriez recevoir ce mail dans le format que vous choisi dans
/var/qmail/boot/.
D駸installer votre ancien agent de transport de courrier
Si le test est concluant, tuez votre ancien agent de transport.
Tout d'abord, arr黎ez-le :
Puis r馥ssayez de stopper votre agent de transport de courrier
(s'il le faut, r駱騁ez ces deux 騁apes ad nauseam).
Ensuite, tuez votre agent de transport :
$ killall -TERM nom_du_d駑on
$ killall -CONT nom_du_d駑on
Virez-le. La mani鑽e de le faire d駱end de votre distribution. Par exemple
rpm -e --nodeps pour une RedHat, une Caldera ou une SuSE, ou dpkg -r --force-depends pour une Debian. Lancer ensuite
# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
Maintenant configurer qmail-smtpd dans /etc/inetd.conf :
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
Tout ceci doit se trouver sur la m麥e ligne.
Si vous utilisez un vielle distribution avec un init non SysV (c'est par
peut varier.
Pour les distribution actuelles avec des init SysV (RedHat, Caldera, SuSE,
Debian), ajoutez ce script dans /etc/init.d/ ou
/etc/rc.d/init.d :
- Pour la Debian :
#!/bin/sh
test -x /var/qmail/rc || exit 0
case "$1" in
start)
echo -n "Starting mta: " # d駑arrage de l'agent de transport
sh -cf '/var/qmail/rc &'
echo "qmail."
;;
stop)
echo -n "Stopping mta: " # arr黎 de l'agent de transport
killall qmail-lspawn
echo "qmail."
;;
restart)
echo -n "Restarting mta: " # red駑arrage de l'agent de transport
killall -HUP qmail-lspawn
killall -ALRM qmail-lspawn
echo "qmail."
;;
*)
echo "Usage: /etc/init.d/qmail {start|stop|restart}"
exit 1
esac
exit 0
- Pour la RedHat :
#!/bin/sh
#
# qmail ce script shell s'occupe du d駑arrage et de l'arr黎 de qmail
#
# source la biblioth鑷ue de function
. /etc/rc.d/init.d/functions
# source la configuration du r駸eau
. /etc/sysconfig/network
export PATH=$PATH:/var/qmail/bin
# v駻ifie que le r駸eau est en place
[ ${NETWORKING} = "no" ] && exit 0
[ -f /usr/sbin/sendmail ] || exit 0
# examine les options de d駑arrage du script
case "$1" in
start)
# Lance les d駑ons.
echo -n "Starting qmail: " # d駑arrarage de qmail
qmail-start '|preline procmail' splogger qmail &
touch /var/lock/subsys/qmail
echo
;;
stop)
# Arr黎e les d駑ons.
echo -n "Shutting down qmail: " # arr黎 de qmail
killproc qmail-lspawn
echo
rm -f /var/lock/subsys/qmail
;;
restart)
$0 stop
$0 start
;;
status)
status qmail
;;
*)
echo "Usage: qmail {start|stop|restart|status}"
exit 1
esac
exit 0
m騁hode) ou r馗up駻ez les sources de smail et compilez le. Si vous compilez
smail, vous aurez besoin d'avoir ce qui suit dans votre
fichier os/linux pour que sed fabrique des scripts shell qui marchent chez vous.
CASE_NO_NEWLINES=true
Une fois install馥s, les fichiers de configurations iront certainement dans le
r駱ertoire /etc/smail (mais cela peut-黎re diff駻ent si vous utilisez une
vielle distribution) ; commen輟ns par les 馘iter !
le fichier config
# source
smart_path=polux
smart_transport=uux
# destination
hostname=barberouge
domains=linux.lmm.com
visible_name=barberouge.linux.lmm.com
uucp_name=barberouge.linux.lmm.com
# max_message_size=512k
# auth_domains=foo.bar
Vous pouvez aussi utiliser postmaster_address = votre_nom,
cachez la topologie du r駸eau dans les adresses sortantes (si vous 黎es un
portail) en utilisant bvisible_name, choisir quelles adresses
# Il existe peu de raisons d'y apporter des changements significatifs.
# Leur unique raison d'黎re est de reconnaitre et de d騅elopper les
# adresses de la forme :
# :include:pathname
# qui peuvent apparaitre dans les fichiers alias, les listes de
nobody; # lorsque des violations mod駻馥s des droits
# se produisent, associer aux adresses
# l'identifiant nobody ;
copysecure, # utiliser les droits du director alias ;
copyowners, # utiliser le propri騁aire du director alias.
# forwardinclude - d騅eloppe les adresses ォ :include:filename サ produites
# par les fichiers forward
copysecure, # utiliser les droits du director forwarding ;
copyowners, # utiliser le propri騁aire du director forwarding.
# aliases - cherche les d騅eloppements d'alias stock駸 dans une base de donn馥.
# cette option n'est pas utile ;
sender_okay, # ne pas ignorer l'exp馘iteur lors des
# d騅eloppements d'adresses ;
owner=owner-$user; # les probl鑪es sont dirig駸 vers
# l'adresse du propri騁aire ;
file=/etc/aliases,
modemask=002, # l'acc鑚 en 馗riture ne doit pas 黎re
# forward - cherche des d騅eloppements d'adresse selon le contenu de la base
# de donn馥s ォ forwarding サ.
# C'est la base des adresses des renvois utilisateurs pour tout un sous-domaine.
# Les informations n馗essaires pour faire suivre le courrier des utilisateurs,
# pr駸ents ou pass駸, vers leur machine pr馭駻馥 sont conserv馥s ici.
# La base forward est exp馘i馥 vers les autres syst鑪es locaux lors de chaque
# modification, afin de maintenir la coh駻ence du r駸eau.
#forward:
# cette option n'est pas utile ;
# owner = real-$user; # les probl鑪es sont dirig駸 vers
# l'adresse du propri騁aire ;
#
# file = /etc/forward,
# modemask = 002,
# doivent 黎re envoy駸 les courriers re輹s par cet utilisateur, au lieu (ou
# en plus) d'黎re stock駸 en local.
dotforward:
driver = forwardfile, # le directeur g駭駻aliste forwarding ;
owner = postmaster, nobody, sender_okay;
file = ~/.forward, # le fichier .forward du r駱ertoire personnel ;
checkowner, # l'utilisateur peut 黎re propri騁aire de ce fichier ,
owners = root, # ou bien root ;
# Cela 駑ule le m馗hanisme de renvoi de courrier des syst鑪es V6/V7/System-V qui utilise
# une ligne d'adresses de renvoi au d饕ut des fichiers boites aux lettres (BAL) utilisateur
# avec comme pr馭ixe la cha?e ォ Forward to サ (avec un blanc apr鑚 to)
forwardto:
driver = forwardfile,
owner = postmaster, nobody, sender_okay;
file = /var/spool/mail/${lc:user}, # pointe sur la BAL utilisateur ;
forwardto, # autoriser la fonction ォ Forward to サ ;
checkowner, # l'utilisateur peut 黎re propri騁aire de ce fichier,
owners = root, # ou root ;
modemask = 0002, # sous System V, le groupe mail a la permission d'馗riture ;
# une BAL utilisateur. Par exemple, des erreurs de d騅eloppement d'un fichier
#.forward pourraient 黎re distribu馥s ici, ou des boucles dans le renvoi de courrier entre
# plusieurs machines pourraient 黎re r駸olues en utilisant une adresse real-nom_d_utilisateur.
driver = user;
transport = local,
prefix = "real-" # par exemple, reconnait real-root.
# lists - d騅eloppe les listes de diffusion stock馥s dans le r駱ertoire list
# Les listes de diffusions peuvent 黎re cr馥s simplement en cr饌nt un fichier
# dans le r駱ertoire /etc/smail/lists.
lists: driver = forwardfile,
caution, # marque toutes les adresses avec l'indicateur ォ caution サ,
# trop long, la taille limite des noms de
# fichiers 騁ant de 14 caract鑽es ;
file = lists/${lc:user} # les listes sont sous $smail_lib_dir.
# owners - d騅eloppe les listes de diffusion stock馥s dans le r駱ertoire des
# propri騁aires de listes (r駱ertoire ォ list owner サ).
# Les listes de propri騁aires de listes de diffusion peuvent 黎re simplement cr馥s en
# cr饌nt un fichier dans le r駱ertoire /etc/smail/lists/owner. Ces listes permettent
# de diffuser localement les messages d'erreurs g駭駻馥s par une liste de diffusion.
# Pour cr馥r une liste des propri騁aires d'une liste de diffusion,
# cr馥r un fichier portant le nom de la liste dans /etc/smail/lists/owners.
# Cela va cr馥r une adresse de courrier owner-nom_de_liste,
# telle qu'utilis馥 par le directeur ォ lists サ plus haut.
owners: driver = forwardfile,
caution, # marque toutes les adresses avec l'indicateur ォ caution サ,
# request - d騅eloppe les listes de diffusions stock馥s dans le r駱ertoire des listes
# de requ黎es. Les listes de diffusion des requ黎es concernant une liste de diffusion
# peuvent 黎re cr馥s tout simplement en cr饌nt un fichier dans le r駱ertoire
# /etc/smail/lists/request. Les adresses requ黎e sont utilis馥s en g駭駻al
# comme adresse standard pour les demandes concernant une liste de diffusion.
# Par exemple, les demandes d'abonnement ou de d駸abonnement pour une liste seront
Vous de devriez pas avoir besoin de changer quoi que ce soit ici, seulement
les option destin馥s aux listes de diffusions si vous voulez g駻er de telles
listes avec smail, ou bien les options de renvoi (forward options) si,
par exemple vous voulez interdire les renvois.
Le fichier fidopaths
.f105.n324.z2.fidonet.org f105.n324.z2.fidonet.org!%s
.n324.z2.fidonet.org f105.n324.z2.fidonet.org!%s
.z2.fidonet.org f105.n324.z2.fidonet.org!%s
.fidonet.org f105.n324.z2.fidonet.org!%s
Cr馥z ce fichier seulement si vous utilisez ifmail et FIDO.
Le fichier routers
# des autres bases de donn馥s de routage. Pour changer la base, 馘iter le
# fichier maps/force.path puis faire un ォ make サ dans le sous-r駱ertoire maps/
forces:
driver = pathalias, # nom du routeur effectuant les recherches
# dans les bases de chemins ;
method = /etc/smail/maps/table; # les transports sont dans ce fichier ;
file = forcepaths, # fichier contenant l'information sur
driver=uuname, # utiliser un programme renvoyant les voisins ;
transport=uux;
cmd="/usr/bin/uuname -a", # plus pr馗is駑ent, utiliser le programme uuname ;
# domain=uucp # enlever le suffixe ォ~.uucp~サ
# smart_host - un directeur vers une ォ~machine de relais postal~サ partiellement d馭inie
# Si l'attribut smart_path du fichier de configuration contient un
# chemin entre l'h?e local et un h?e distant, alors les noms d'h?es
# local, # utiliser la forme locale de distribution ;
# from, # ajoute la ligne d'enveloppe ォ From_ サ ;
# unix_from_hack; # ins鑽e > avant From dans le corps du message ;
#
# le filtrage du courrier et permettre de sauvegarder les courriers provenant de
# listes de diffusions dans des bo?es aux lettres s駱ar馥s s'ils le souhaitent.
local: +inet,
-uucp,
driver = pipe, # envoi du message via un tube
return_path, # inclus un champ ォ Return-Path: サ ;
local, # utiliser la forme locale de distribution ;
from, # ajoute la ligne d'enveloppe ォ From_ サ ;
unix_from_hack; # ins鑽e > avant From dans le corps du message ;
cmd = "/usr/bin/procmail", # utilise procmail pour distribuer le courrier local ;
parent_env, # tire les informations d'environnement de
# parent_env, # tire les informations d'environnement de
# l'adresse du parent ;
# pipe_as_user, # utilise l'identifiant utilisateur
# par un barre de division ォ / サ ou un tilde ォ ~ サ, comme ォ /usr/info/list_messages サ
# ou peut 黎re ォ ~/Mail/inbox サ.
#file: driver = appendfile,
# return_path, local, from, unix_from_hack;
#
# expand_user, # d騅eloppe ~ et $ dans l'adresse.
# check_path,
# suffix = "\n",
# mode = 0644
# uux - distribue le courrier au programme rmail sur un site UUCP distant
#
# Il est possible, au cours d'une seule transaction UUCP, de distribuer
max_addrs = 5, # au plus 5 adresses par appel ;
max_chars = 200; # au plus 200 caract鑽es pour une adresses ;
# l'option -r 騅ite une distribution imm馘iate, les parenth鑚es autour de la variable
from; # fourni une ligne d'enveloppe ォ From_ サ ;
# l'option -r emp鹹he une distribution imm馘iate.
cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
umask = 0022,
pipe_as_sender
queueonly:
driver = pipe; # envoi du message via un tube ;
cmd = "/usr/lib/sendmail -Q -f $sender -bm $user",
# utilise getmail pour les distributions locales ;
user=root, # ex馗ute getmail en tant qu'utilisateur ォ root サ ;
group=mail, # ex馗ute getmail sous le groupe ォ mail サ ;
parent_env, # tire les informations d'environnement de
# s'agit de la limite inf駻ieure qu'une mise en oeuvre de SMTP est tenue de
# prendre en charge.
smtp: driver=tcpsmtp,
inet, # si UUCP_ZONE n'est pas d馭ini ;
# uucp, # si UUCP_ZONE est d馭ini ;
-max_addrs, -max_chars; # pas de limite sur le nombre d'adresses ;
short_timeout=5m, # la dur馥 maximum des op駻ations courtes ;
ifmail:
from,received,max_addrs=5,max_chars=200,
driver=pipe;
pipe_as_sender,
cmd="/usr/local/bin/ifmail -x9 -r$host $((${strip:user})$)"
Vous ne devez inclure la partie ifmail que si vous utilisez ifmail pour les courriers FIDO. タ part cela, vous ne devriez pas avoir besoin de modifier quoi que ce soit
dans ce fichier qui d馭init les agents de transport (comme UUX, SMTP, etc.)
Il contient les fichiers map et table.
Tout d'abord le fichier map :
#N foo.bar foo2.bar2
#S AT 486/RedHat Linux 1.2.13
#O organization
#C contact
#E administration (email)
#T phone
#P address
#R
par polux.linux.eu.org).
Maintenant le fichier table :
* uux
Vous pouvez d馭inir diff駻ents transports pour diff駻ents chemins, par exemple
smtp pour les machines de votre r駸eau local,
uux pour le reste du monde ou vice-versa (j'utilise UUCP pour
tous les courriers sortants, donc j'utilise * !)
Autres bons exemples
Les fichiers pr馗馘ents sont ceux que j'utilise pour mon site ; vous ne devriez
pas rencontrer de probl鑪es en les utilisant comme bases pour vos propres fichiers.
Les fichiers suivants sont donn駸 comme de bons exemples pour configurer smail de diff駻entes
mani鑽es.
#ident "@(#) transports,v 1.2 1990/10/24 05:20:46 tron Exp"
# Voir smail(5) pour une description compl鑼e du contenu de ce fichier
# local - distribution du courrier aux utilisateurs locaux
#
return_path, # ajoute le champ ォ Return-Path: サ ;
local, # utiliser la forme locale de distribution ;
from, # ajoute la ligne d'enveloppe ォ From_ サ ;
unix_from_hack; # ins鑽e > avant From dans le corps du message ;
file = /usr/mail/${lc:user}, # utiliser cet emplacement pour System V ;
group = mail, # groupe devant 黎re propri騁aire des fichiers
# pour le System V ;
mode = 0660, # sous System V, le groupe mail doit avoir les
# droits d'acc鑚 ;
suffix = "\n", # ajouter d'une ligne suppl駑entaire.
append_as_user,
cmd = "/bin/sh -c $user", # envoyer l'adresse au shell Bourne ;
parent_env, # tire les informations d'environnement de
# l'adresse du parent ;
-log_output, # ne pas enregistrer stdout/stderr ;
ignore_status, # le code de retour n'est pas fiable, l'ignorer ;
ignore_write_errors, # ignorer les tubes bris駸.
# file - distribue le courrier dans des fichiers
#
return_path, local, from, unix_from_hack;
file = $user, # le nom de fichier est pris dans l'adresse
append_as_user, # utilise l'identifiant utilisateur
from, # fourni une ligne d'enveloppe ォ From_ サ ;
max_addrs = 5, # au plus 5 adresses par appel ;
max_chars = 200; # au plus 200 caract鑽es pour une adresse ;
driver = pipe,
uucp, # utilise le format d'adresse de style UUCP ;
from; # fourni une ligne d'enveloppe ォ From_ サ ;
# l'option -r emp鹹he une distribution imm馘iate ;
uucp, from, max_addrs = 5, max_chars = 200;
# si l'option -r est omise, essaye de contacter le site distant imm馘iatement.
cmd = "/usr/bin/uux - -g$grade $host!rmail $(($user)$)",
umask = 0022, pipe_as_sender
# uusmtp - distribution vers un programme rsmtp sur un site UUCP distant
#
# Distribution via un simple protocol de transfert SMTP par lots
# vers la machine distante.
# Ce qui permet d'utiliser des adresses bien plus libres et qui 騅ite les
# limitations de uux en termes de nombre d'adresses de destination.
uusmtp: driver = pipe,
bsmtp, # envoi des lots de commandes SMTP ;
-max_addrs, # il n'y a pas de limite sur le nombre
-max_chars; # et la taille des adresses de destination ;
# mettre -r pour que la distribution ne soit pas imm馘iate ; les adresses de
# destination sont stock馥s dans les donn馥s envoy馥s vers l'entr馥 standard de rsmtp.
# si l'option -r est omise, essaye de contacter le site distant imm馘iatement.
cmd = "/usr/bin/uux - -g$grade $host!rsmtp",
umask = 0022, pipe_as_sender
# smtp - distribution du courrier en utilisant SMTP sur TCP/IP
#
# s'agit de la limite inf駻ieure qu'une mise en oeuvre de SMTP est tenue de
# prendre en charge.
smtp: driver = smtp,
-max_addrs,
-max_chars
#ident "@(#) table,v 1.2 1990/10/24 05:20:31 tron Exp"
Relancer inetd
Pour lancer smail en tant que d駑on SMTP, ajoutez une des lignes suivantes dans
votre /etc/inetd.conf :
smtp stream tcp nowait root /usr/bin/smtpd smtpd
Si vous utilisez un noyau un peu moins vieux (1.2) : sendmail+IDA et la modification du code source
Ceux qui utilisent un noyau r馗ent (2.0) choisirons sendmail 8.x .
Attention, les linuxiens d饕utants et les personnes pr駮ccup馥s par la
Placez vous dans le r駱ertoire /usr/local/lib/mail/CF et concat駭ez les fichiers sample.m4 et local.m4 dans
votre_nom_de_machine.m4.
ノditez hostname, aliases et smarthost et placez-y
les informations
touch sur les fichiers pour que le Makefile marche. ノditez ensuite le
fichier .m4, lancez make sendmail.cf et testez-le.
Si votre site utilise uniquement UUCP et que vous dialoguez avec
plus de d騁ails.
Les sources de sendmail+IDA se trouve sur
http://vixen.cso.uiuc.edu ;
elles ne n馗essitent aucun correctif pour
tourner sous Linux si vous utilisez quelque-chose comme un noyau 1.00.
dnl # La cha?e ォ dnl サ est utilis馥 comme en-t黎e d'une ligne de commentaires.
dnl # (Enfin pas exactement, mais utilisez-la pour cela si vous en avez
dnl # besoin :-)
dnl # En g駭駻al, il est pr馭駻able d'騅iter de remplacer les chemins par
dnl # d馭aut dans LIBDIR
dnl #define(LIBDIR,/usr/local/lib/mail)dnl # dossier contenant tous les
dnl # fichiers de support~;
define(LOCAL_MAILER_DEF, mailers.linux)dnl # outil de distribution locale~;
define(POSTMASTERBOUNCE)dnl # les messages retourn駸 sont
dnl # envoy駸 au ォ~receveur principal~サ
dnl # (postmaster)~;
define(PSEUDODOMAINS, BITNET UUCP)dnl # ne pas essayer le DNS sur ceux-ci.
dnl #
dnl #-------------------------------------------------------------
dnl #
dnl # noms par lesquels nous sommes connus
define(PSEUDONYMS, machine.sousdomaine.domaine machine.UUCP)
dnl #
dnl # notre nom de machine
define(HOSTNAME, machine.sousdomaine.domaine)
dnl #
dnl # notre nom UUCP
define(UUCPNAME, machine)dnl
dnl #
dnl #-------------------------------------------------------------
dnl #
define(UUCPNODES, |uuname|sort|uniq)dnl # nos voisins UUCP~;
define(BANGIMPLIESUUCP)dnl # s'assure que le courrier
define(BANGONLYUUCP)dnl # UUCP est correctement trait驃;
define(RELAY_HOST, mon_voisin_UUCP)dnl # notre machine-relais~;
define(RELAY_MAILER, UUCP-A)dnl # on atteind notre machine-
dnl # relais par UUCP
dnl #
dnl #--------------------------------------------------------------------
dnl #
dnl # les diffentes tables dbm
dnl #
define(ALIASES, LIBDIR/aliases)dnl # les alias syst鑪e
define(DOMAINTABLE, LIBDIR/domaintable)dnl # machines du domaine
define(PATHTABLE, LIBDIR/pathtable)dnl # base de donn馥s des chemins
define(GENERICFROM, LIBDIR/generics)dnl # adresses sources g駭駻iques
define(MAILERTABLE, LIBDIR/mailertable)dnl # agents de courrier par machine
dnl # ou par domaine
define(UUCPXTABLE, LIBDIR/uucpxtable)dnl # chemin des machines que l'on
dnl # alimente
define(UUCPRELAYS, LIBDIR/uucprelays)dnl # chemins rapides
dnl #
dnl #--------------------------------------------------------------------
dnl #
dnl # inclut le ォ~v駻itable~サ code qui fait tout marcher
dnl # (fournit avec le code source)
dnl #
include(Sendmail.mc)dnl # entr馥 n馗essaire !
dnl #
dnl #------------ FIN DE L'EXEMPLE DE FICHIER SENDMAIL.M4 ------- -------
Choisir un logiciel de distribution locale du courrier
タ la diff駻ence de la plupart des distributions Unix, Linux n'est pas fourni avec
un agent par d馭aut de distribution du courrier local.
sendmail.m4 qui pointe vers un fichier de ce genre :
# -- /usr/local/lib/mail/mailers.linux --
# (agents de distribution locaux pour Linux)
Mlocal, P=/usr/bin/deliver, F=SlsmFDMP, S=10, R=25/10, A=deliver $u
mailers.linux mais incluez ce qui suit dans votre fichier
sendmail.m4 :
dnl --- (dans sendmail.m4) ---
define(LOCAL_MAILER_DEF, DELIVER)dnl # agent de distribution locale
La mise en place de comportements sp馗iaux vers certains sites et domaines est
r饌lis馥 via un certain nombre de tables dbm plut? que par une modification
directe du fichier sendmail.cf.
Consultez le num駻o de juillet 1994 du Linux Journal (si vous pouvez
encore le trouver :-) et r馭駻ez-vous aux docs qui se trouvent dans
les sources, ou au chapitre sendmail de la nouvelle version de
Networking Administration Guide du Linux Documentation
Project qui sera disponible incessamment sous peu.
- mailertable : d馭init un comportement sp馗ial pour les machines et les
domaines distants.
- uucpxtable : force la distribution de courrier via UUCP pour des machines qui
sont au format DNS.
Quelles sont les entr馥s r馥llement n馗essaires ?
Quand il n'utilise aucune table dbm optionnelle, sendmail distribue
le courrier via le RELAY_HOST (machine de relais) et le RELAY_MAILER
n'utilise qu'UUCP et fait suivre le courrier via UUCP par une machine de relais
postal, n'a probablement besoin d'aucune entr馥s dans ces tables.
Virtuellement, tous les syst鑪es devraient d馭inir les macrosi
DEFAULT_HOST
et PSEUDODYMS , qui d馭inissent le nom canonique du site
et les alias par lesquels il est connu.
Si vous n'avez qu'une machine de relais et un agent relais de courrier
vous n'avez pas besoin de d馭inir ces macros puisque cela marche
automagiquement. Les machines UUCP n馗essiteront probablement de d馭inir
UUCPNAME comme leur nom officiel UUCP.
Vous devrez probablement 馮alement d馭inir RELAY_MAILER et
RELAY_HOST qui active le routage via une machine de relais postal.
Il existe une bonne distribution de sendmail 8.6.12 de Jason Haar
(<j.haar at lazerjem.demon.co.uk>) sur
sunsite.unc.edu qui contient
les documentations d'origine et une petite documentation tr鑚 sympa qui
explique comment utiliser sendmail v8 sur les principales configurations.
L'id馥 principale de sendmail v8 est que l'on veut configurer le strict
minimum pour que cela marche. Ce qui suit est un exemple qui devrait vous
# - tous les courriers sortants qui ne sont pas locaux passent
# par la machine-relais (RELAY_HOST) via SMTP (on utilise ppp
# et on laisse notre FAI faire son boulot)
#
# vds 3/31/95
#
#---------------------------------------------------------------------
include(`../m4/cf.m4')
VERSIONID(`machine Linux sans DNS transferant son courrier vers la'dnl
`machine-relais d'un FAI via slip')dnl
Cwmachine.mon.domaine machine.UUCP localhost
OSTYPE(linux)
FEATURE(nodns)dnl
FEATURE(always_add_domain)dnl
FEATURE(redirect)
FEATURE(nocanonify)
dnl MAILER(local)dnl
MAILER(smtp)dnl
MAILER(uucp)dnl
define(`RELAY_HOST', smtp:relai.machine.domaine)
define(`SMART_HOST', smtp:relai.machine.domaine)
define(`UUCP_RELAY', smtp:relai.machine.domaine)
define(`LOCAL_MAILER_PATH', `/bin/deliver')
タ la place de runq, tapez sendmail -q pour traiter la file
d'attente.
6.5 Agents de distribution du courrier local (LDA)
タ la diff駻ence de la plupart des syst鑪es d'exploitation, Linux ne g鑽e pas le
7. Administration des lecteurs de courrier 駘ectronique (MUA)
7.1 Mutt
Vous ne devriez pas avoir de probl鑪es pour compiler, installer et lancer mutt.
Les utilisateurs de qmail peuvent r馗up駻er un correctif ou le lancer avec
Elm se compile, s'installe et se lance sans probl鑪e sous Linux. Pour plus
d'informations, reportez-vous aux sources d'elm et aux instructions
d'installation. Elm et filter ont besoin d'黎re en mode 2755 (groupe mail)
avec /var/spool/mail en mode 775 (groupe mail).
Les utilisateurs de qmail peuvent r馗up駻er le correctif pour utiliser les
fonctionnalit駸 bien pratiques de qmail ou lancer elm avec l'option -f pour
lire leurs bo?es aux lettres locales.
Si vous utilisez une distribution binaire, vous aurez besoin de cr馥r un
fichier /usr/local/lib/elm/elm.rc pour passer outre la nom de la machine
et les informations de domaine compil駸 en dur :
- remplacez sous-domaine.domaine par votre nom de domaine ;
http://thumper.bellcore.com et bien s? via archie.
Dans la cat馮orie ォ trop beau pour 黎re vrai サ il existe une distribution,
d'Elm-2.4.24 qui sait g駻er PGP. Pour l'essayer, r馗up駻ez le fichier
ftp://ftp.viewlogic.com/pub/elm-2.4pl24pgp3.tar.gz qui n'est
rien d'autre que elm 2.4.24 avec l'ajout de PGP. Il se configure et se compile de
trucs edmail de la SLS 1.00 et de les remplacer par mailx.
8. G駻er le courrier distant
Cette section d馗rit l'utilisation de POP et d'IMAP pour g駻er le courrier
distant.
Parmi les alternatives, on trouve le montage via NFS des zones de stockage du
courrier sur
les machines clientes (Danger Will Robinson ! Est-ce que tout le monde utilise
la m麥e m騁hode de verrouillage ?) ou bien l'utilisation d'une passerelle
courrier-vers-web (une solution assez populaire de nos jours).
- Soit vous utilisez une poste centrale (mail hub)
machine.lambda.fr avec des r鑒les de r鳬criture pour que l'on ait
l'impression que tous utilisateurs envoient leur courrier depuis la m麥e
adresse quelque-soit l'ordinateur qu'ils utilisent.
Mais dans ce cas, comment les utilisateurs peuvent-ils lire leur courrier ?
En utilisant rsh avec elm ? :-)
Cela surchargerait notre centre de tri ! Une m騁hode serait de rediriger
le courrier ou d'utiliser UUCP, SMTP, etc. mais c'est bien trop
complexe.
L'option forcecr est requise pour utiliser fetchmail avec qmail qui
respecte strictement les RFC.
8.3 Envoyer du courrier
Pour cela, vous devrez utiliser un programme g駻ant SMTP comme par exemple
celui que vous pr馭駻ez. Ensuite, quand vous atteindrez la section Tester,
essayer d'envoyer un courrier 駘ectronique sur un compte local de votre
passerelle de courrier.
8.4 Lire le courrier
$ telnet machine 110
Si cela marche, vous obtiendrez quelque chose du genre ォ OK Pop server (...)
starting サ. Tapez ォ quit サ !
demandera pas de mot de passe, en cons駲uence, vous devrez cr馥r un fichier
.shosts sur
le serveur de courrier, contenant le nom du client. Pour tester la redirection
de port ssh (que wgpop utilise), tapez
$ ssh -n -f -L 12314:localhost:110 machine sleep 30
puis
$ telnet localhost 12314
Alors vous aurez bon espoir de voir la banni鑽e de la poste centrale
POP. Si vous n'utilisez pas ssh, n'oubliez pas de commenter
$ssh
dans le script gwpop. Pour v駻ifier si procmail tourne essayez
procmail~-v.
8.6 Utilisation
Maintenant vous pouvez 馘iter le script Perl gwpop pour v駻ifier que
tout va bien, puis lancez gwpop :
$ gwpop -v votre-nom-d'utilisateur
POP password on mailhost: votre-mot-de-passe-secret
Si les ォ messages d'erreurs サ de gwpop vous parraissent normaux, le courrier
sera
Vous pouvez t駘馗harger les logiciels pop utilis駸 ici sur :
-
ftp://ftp.unina.it/pub/Unix/pkgs/network/mail/gwpop
-
ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail
-
http://www.cs.hut.fi/ssh/
9. Remerciements