Cette section contient des informations concernant les `agents de transport', qui désignent la couche logicielle de bas niveau qui connecte votre système local aux systèmes distants.
Smail3.1 semble être un agent de transport standard de facto pour les sites uniquement uucp et quelques sites smtp. Il compile sans modification du code source. De plus, smail est distribué sous forme binaire dans la distribution SLS de Linux.
La distribution newspak contient des fichiers de configuration pour smail3.1.28 sous Linux que vous pouvez utiliser pour commencer.
Si vous construisez smail à partir des sources, vous aurez besoin de la ligne suivante dans votre fichier os/linux pour que `sed' vous donne des shell scripts qui fonctionnent correctement.
CASE_NO_NEWLINES=true
Pour un système uniquement uucp qui a un MX-record et qui veut un en-tête domainisé (qui utilise un smart-host pour tout), voici les fichiers de configuration complets dont vous aurez besoin~:
#-------- /usr/local/lib/smail/config ----------------------------- # # domaines auxquels nous appartenons visible_domain=sous_domaine.domaine:uucp # # par quel nom complet nous sommes connus (fully-qualified-site-name) visible_name=mon_nom_de_site.sous_domaine.domaine # # par qui nous passons - serveur dedie smart_path=mon_voisin_uucp # #---------- /usr/local/lib/smail/paths ---------------------------- # # le site est domainise, soyons certains d'accepter le courrier # adresse aux deux noms mon_nom_de_site %s mon_nom_de_site.sous_domaine.domaine %s # #------------------------------------------------------------------Pour utiliser smail comme un démon smtp, ajoutez la ligne suivante dans /etc/inetd.conf:
smtp stream tcp nowait root /usr/bin/smtpd smtpdLe courrier sortant sera envoyé automatiquement, en utilisant elm. Si votre liaison internet est coupée quand vous envoyez un courrier, alors il est placé dans
/usr/spool/smail/input
. Quand la liaison sera rétablie,
la lancement de runq
provoquera l'émission du mail.
J'ai un site uniquement uucp et j'utilise sendmail5.65b+IDA1.5 à la place de
smail3.1.28 à cause de son incroyable facilité d'utilisation. Il en existe une
distribution binaire dans sunsite.unc.edu:pub/Linux/system/Mail
.
Pour l'installer~:
Une autre chose intéressante est que si vous avez l'option mail.debug positionnée et que vous utilisez syslogd, vos messages entrants et sortants seront tracés. Voir le fichier /etc/syslog.conf pour des détails.
Le source de sendmail+IDA peut être trouvé à uxc.cso.uiuc.edu. Il ne demande aucune modification pour compiler sous Linux.
Si vous pensez utilisez sendmail+IDA, je vous recommande fortement la version sendmail5.67b+IDA1.5 car toutes les modifications spécifiques à Linux sont dorénavent dans les sources originales et plusieurs trous de sécurité ont été fixés, qui ETAIENT (!!!) présents dans l'ancienne version que vous avez peut-être prise ou compilée avant le 1er décembre 1993.
L'édition de mai/juin 1994 du Linux Journal
présente un article
conséquent sur l'installation et l'administration de sendmail+IDA. La prochaine
sortie du Networking Administration Guide
du Linux DOC Project en aura
une description encore plus détaillée et complête.
Sendmail+IDA vous demande de mettre à jour un fichier sendmail.m4
plutôt qu'éditer le fichier sendmail.cf
directement. L'avantage de
cette méthode est qu'il est simple de mettre sur pied des configurations pour
le mail qui sont extrêmement difficiles (voire totalement impossible pour
la plupart des personnes) avec smail ou le traditionnel sendmail.
Le fichier sendmail.m4 qui correspond à l'exemple donné plus haut pour smail, ressemble à ceci~:
dnl #------------------ EXEMPLE DE FICHIER SENDMAIL.M4 ------------------ dnl # dnl # (la chaine `dnl' est l'equivalent en m4 d'une ligne de commentaire) dnl # dnl # on ne veut generalement pas modifier LIBDIR des chemins compiles ou sont dnl #define(LIBDIR,/usr/local/lib/mail)dnl # tous les fichiers de # configuration define(LOCAL_MAILER_DEF, mailers.linux)dnl # mailer pour delivrance locale define(POSTMASTERBOUNCE)dnl # postmaster gets bounces define(PSEUDODOMAINS, BITNET UUCP)dnl # ne pas essayer DNS sur ceux-ci dnl # dnl #------------------------------------------------------------- dnl # dnl # les noms sous lesquels nous sommes connus define(PSEUDONYMS, myhostname.subdomain.domain myhostname.UUCP) dnl # dnl # notre nom primaire define(HOSTNAME, myhostname.subdomain.domain) dnl # dnl # notre nom uucp define(UUCPNAME, myhostname)dnl dnl # dnl #------------------------------------------------------------- dnl # define(UUCPNODES, |uuname|sort|uniq)dnl # nos voisins uucp define(BANGIMPLIESUUCP)dnl # soyons certains que le mail define(BANGONLYUUCP)dnl # uucp soit correctement traite define(RELAY_HOST, my_uucp_neighbor)dnl # notre smart relay host define(RELAY_MAILER, UUCP-A)dnl # nous joignons moria par uucp dnl # dnl #-------------------------------------------------------------------- dnl # dnl # les diverses dbm lookup tables dnl # define(ALIASES, LIBDIR/aliases)dnl # alias systeme define(DOMAINTABLE, LIBDIR/domaintable)dnl # sites domainises define(PATHTABLE, LIBDIR/pathtable)dnl # base de donnee des chemins define(GENERICFROM, LIBDIR/generics)dnl # adresses generiques define(MAILERTABLE, LIBDIR/mailertable)dnl # mailers par site ou domaine define(UUCPXTABLE, LIBDIR/uucpxtable)dnl # chemins vers les sites # que nous feedons define(UUCPRELAYS, LIBDIR/uucprelays)dnl # chemins court-circuites dnl # dnl #-------------------------------------------------------------------- dnl # dnl # inclure le `veritable' code qui fait tout fonctionner dnl # (inclus dans le code source) dnl # include(Sendmail.mc)dnl # LIGNE INDISPENSABLE !!! dnl # dnl #------------ FIN DE L'EXEMPLE DE FICHIER SENDMAIL.M4 -------
Contrairement à la plupart des distributions Unix, Linux ne propose pas d'agent
de délivrance du mail local par défaut. Je recommande l'utilisation du programme
deliver
communément disponible, qui est un paquetage optionnel dans
certaines distributions Linux usuelles. Pour ce faire, vous aurez besoin de
définir une ligne LOCAL_MAILER_DEF
dans le fichier sendmail.m4
qui nommera un fichier qui ressemble à ceci~:
# -- /usr/local/lib/mail/mailers.linux -- # (mailers locaux pour l'utilisation avec Linux) Mlocal, P=/usr/bin/deliver, F=SlsmFDMP, S=10, R=25/10, A=deliver $u Mprog, P=/bin/sh, F=lsDFMeuP, S=10, R=10, A=sh -c $u
Il y a aussi une option par défaut pour deliver
dans le fichier
Sendmail.mc
qui est inclus dans le fichier sendmail.cf
.
Pour l'utiliser, vous ne devez pas utiliser le fichier mailers.linux
mais définir à la place la ligne suivante dans votre fichier sendmail.m4~:
dnl --- (dans sendmail.m4) --- define(LOCAL_MAILER_DEF, DELIVER)dnl # mailer pour la delivrance locale
Malheureusement, Sendmail.mc suppose que deliver est installé dans /bin, ce qui n'est pas le cas avec Slackware1.1.1 (qui l'installe dans /usr/bin). Dans ce cas vous devrez le tromper avec un lien ou reconstruire deliver à partir des sources pour qu'il réside dans /bin.
La mise en place des facilités spéciales pour des sites ou des domaines
s'effectue à travers un nombre de tables dbm
optionnelles plutôt
que d'éditer les fichier sendmail.cf
directement. Référez-vous au
numéro de juillet 1994 du Linux Journal
, aux documentations dans
les sources, ou au chapitre sur sendmail dans la nouvelle version du
Networking Administration Guide
du Linux DOC Project qui sera
disponible, dans très peu de temps maintenant, pour plus de détails.
Quand on n'utilise aucune des tables dbm optionnelles, sendmail+IDA délivre le
courrier via le DEFAULT_MAILER
(et peut-être RELAY_HOST
et
RELAY_MAILER
) défini dans le fichier sendmail.m4 utilisé pour
générer sendmail.cf. Il est facilement possible d'outrepasser cette facilité
avec des entrées dans domaintable et uucpxtable.
Un site générique qui est sur Internet et qui utilise le Domain Name Service, ou
un autre qui utilise seulement UUCP et transfère tout son courrier via UUCP à
un RELAY_HOST
, n'ont probablement pas besoin du tout d'entrées
spécifiques dans ces tables.
Logiquement, tous les systèmes devraient positionner les macros
DEFAULT_HOST
et PSEUDONYMS
, qui définissent le nom canonique
du site et les alias sous lesquels il est connu, et DEFAULT_MAILER
.
Si vous n'avez qu'un site relai et un relay mailer, vous n'aurez pas besoin
de définir ces valeurs par défaut car cela fonctionnera automagiquement.
Les sites UUCP auront aussi besoin de positionner UUCPNAME
à leur nom
UUCP officiel. Ils positionneront aussi RELAY_MAILER
, et
RELAY_HOST
qui autorise le routage vers le smart-host à travers un
mail relay. Le transport de mail à utiliser est défini avec
RELAY_MAILER
et devrait normalement être UUCP-A pour les sites UUCP.
Si votre site est seulement SMTP et connaît le `Domain Name Service', vous
devrez changer le DEFAULT_MAILER
à TCP-A et probablement effacer les
lignes RELAY_MAILER
et RELAY_HOST
.
Sendmail 8.6.x de Berkeley est la dernière révision majeure après sendmail5. Il contient un excellent support pour la compilation sous Linux. Tapez juste "make linux" et tout sera configuré.
Les logiciels suivants sont aussi connus pour fonctionner sous Linux. Consultez "archie" pour trouver les détails de leur emplacement...
Contrairement à la plupart des systèmes d'exploitation, Linux ne propose pas le mail en standard. Vous aurez besoin d'un programme pour distribuer le mail local. Le programme "lmail" de Rich Braun en est un bon, mais j'utilise maintenant le programme "deliver", plus répandu et accessible.
La documentation pour l'utilisation et la distribution locale est dans la distribution binaire de sendmail5.67b+IDA1.5 (sur sunsite) mentionnée plus haut.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre