Smail v3.1Smail 3.1 est de facto un agent de transport de courrier standard pour
les sites utilisant uniquement
UUCP et pour quelques un de ceux qui utilisent SMTP. Il est facile à configurer, il se
compile sans correctif et est assez bien sécurisé.Configurer smail Installez le binaire smail de votre distribution (je vous recommande cette
méthode) ou récupérez 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ées, les fichiers de configurations iront certainement dans le
répertoire /etc/smail (mais cela peut-être différent si vous utilisez une
vielle distribution) ; commençons par les éditer !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
# more_hostnames=barberouge.polux.freenix.frBon, premièrement, qui va vous alimenter ? Je suis alimenté par
polux via UUCP (i.e., par transport UUX) ; naturellement vous
devez changer cela en fonction de votre propre situation. Par exemple, vous
pourriez être alimenté par bargw.bar.foobar.com via
SMTP, dans ce cas vous n'avez pas besoin de fichier de
transport et vous pouvez définir -transport_file pour indiquer
que vous n'en avez pas besoin. Vous pouvez aussi utiliser postmaster_address = votre_nom,
cachez la topologie du réseau dans les adresses sortantes (si vous êtes un
portail) en utilisant bvisible_name, choisir quelles adresses
alias peuvent aussi être utilisées pour les courriers que vous recevez grâce à
more_hostnames.Voyez la documentation de smail pour plus de détails ou les exemples de
/usr/doc/smail/examples pour voir s'il y en a qui correspondent à
votre cas. le fichier directors # aliasinclude - développe les adresses «~:include:filename~» produites
# par les fichiers alias.
# Cette entrée et la suivante sont à peu près des modèles standards.
# Il existe peu de raisons d'y apporter des changements significatifs.
# Leur unique raison d'être est de reconnaitre et de développer les
# adresses de la forme :
# :include:pathname
# qui peuvent apparaitre dans les fichiers alias, les listes de
# diffusions ou les fichiers forward (produite par toute
# directive dont le pilote (driver) est forwardfile).
aliasinclude:
driver = aliasinclude, # utiliser le pilote destiné à ce cas
# particulier ;
nobody; # lorsque des violations modérées des droits
# se produisent, associer aux adresses
# l'identifiant nobody ;
copysecure, # utiliser les droits du director alias ;
copyowners, # utiliser le propriétaire du director alias.
# forwardinclude - développe les adresses « :include:filename » produites
# par les fichiers forward
forwardinclude:
driver = forwardinclude, # utiliser le pilote destiné à ce cas
# particulier ;
nobody;
copysecure, # utiliser les droits du director forwarding ;
copyowners, # utiliser le propriétaire du director forwarding.
# aliases - cherche les développements d'alias stockés dans une base de donnée.
# C'est le fichier d'alias standard. Il est utilisé pour réaliser des opérations
# courantes, comme faire correspondre root, postmaster, MAILER-DAEMON et uucp aux
# administrateurs du site, créer des développements de petite envergure
# d'alias système, ou d'autres choses de ce genre. Dans la configuration de
# ce site, le fichier alias est utilisé principalement pour des informations
# d'alias et de renvois spécifiques à chaque machine.
# Les informations générales de renvoi de courrier doivent être mises dans la
# base de donnée « forward ».
aliases:
driver=aliasfile, # directeur d'alias généraliste ;
-nobody, # toutes les adresses sont associés
# par défaut à nobody, donc définir
# cette option n'est pas utile ;
sender_okay, # ne pas ignorer l'expéditeur lors des
# développements d'adresses ;
owner=owner-$user; # les problèmes sont dirigés vers
# l'adresse du propriétaire ;
file=/etc/aliases,
modemask=002, # l'accès en écriture ne doit pas être
# autorisé à tous ;
optional, # continuer normalement si le fichier
# n'existe pas ;
proto=lsearch, # fichier ASCII non trié.
# forward - cherche des développements d'adresse selon le contenu de la base
# de données « forwarding ».
# C'est la base des adresses des renvois utilisateurs pour tout un sous-domaine.
# Les informations nécessaires pour faire suivre le courrier des utilisateurs,
# présents ou passés, vers leur machine préférée sont conservées ici.
# La base forward est expédiée vers les autres systèmes locaux lors de chaque
# modification, afin de maintenir la cohérence du réseau.
#forward:
# driver = aliasfile, # Directeur d'alias généraliste ;
# -nobody, # toutes les adresses sont associés
# par défaut à nobody, donc définir
# cette option n'est pas utile ;
# owner = real-$user; # les problèmes sont dirigés vers
# l'adresse du propriétaire ;
#
# file = /etc/forward,
# modemask = 002,
# proto = dbm, # Utiliser la librairie dbm(3X)
# pour accéder à la base.
# dotforward - développe les fichiers .forward des répertoires personnels.
# Pour les utilisateurs qui ont une entrée dans la base « forward », un fichier
# .forward n'est utilisé que s'il est sur leur machine personnelle, telle
# qu'indiquée dans la base forward. Lorsque ce fichier est utilisé, il est traité
# comme une liste d'adresse indiquants la liste des destinataires auxquels
# doivent être envoyés les courriers reçus par cet utilisateur, au lieu (ou
# en plus) d'être stockés en local.
dotforward:
driver = forwardfile, # le directeur généraliste forwarding ;
owner = postmaster, nobody, sender_okay;
file = ~/.forward, # le fichier .forward du répertoire personnel ;
checkowner, # l'utilisateur peut être propriétaire de ce fichier ,
owners = root, # ou bien root ;
modemask = 002, # ne doit pas être accessible à tous en écriture ;
caution = daemon:root, # ne rien exécuter en tant que root ou daemon ;
# faire extrêmement attention aux dossiers personnels potentiellement
# accessibles à distance.
unsecure = "~uucp:/tmp:/usr/tmp:/var/tmp"
# forwardto - développe le « Forward to » dans les fichiers boîtes aux lettres utilisateur.
# Cela émule le méchanisme de renvoi de courrier des systèmes V6/V7/System-V qui utilise
# une ligne d'adresses de renvoi au début des fichiers boites aux lettres (BAL) utilisateur
# avec comme préfixe la chaîne « Forward to » (avec un blanc après 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 être propriétaire de ce fichier,
owners = root, # ou root ;
modemask = 0002, # sous System V, le groupe mail a la permission d'écriture ;
caution = daemon:root # ne rien exécuter sous root ou daemon.
# user - associe un utilisateur sur l'hôte local à la distribution dans sa BAL.
user: driver = user; # reconnait les utilisateurs locaux ;
transport = local # le transport local distribue le courrier
# dans les BAL.
# real_user - reconnaît les utilisateurs préfixés par la chaîne "real-"
# Très utile pour permettre à une adresse de correspondre explicitement à
# une BAL utilisateur. Par exemple, des erreurs de développement d'un fichier
#.forward pourraient être distribuées ici, ou des boucles dans le renvoi de courrier entre
# plusieurs machines pourraient être résolues en utilisant une adresse real-nom_d_utilisateur.
# Aussi, les utilisateurs qui souhaitent utiliser le courrier comme moyen de transfert de
# données vers une machine qui n'est pas leur machine personnelle peuvent envoyer un
# courrier à real-nom_d_utilisateur@hôte-distant.
real_user:
driver = user;
transport = local,
prefix = "real-" # par exemple, reconnait real-root.
# lists - développe les listes de diffusion stockées dans le répertoire list
# Les listes de diffusions peuvent être crées simplement en créant un fichier
# dans le répertoire /etc/smail/lists.
lists: driver = forwardfile,
caution, # marque toutes les adresses avec l'indicateur « caution »,
nobody, # et les associent à l'utilisateur nobody ;
owner = owner-$user; # les sites system V peuvent vouloir utiliser
# o-$user, puisque owner-$user peut être
# trop long, la taille limite des noms de
# fichiers étant de 14 caractères ;
file = lists/${lc:user} # les listes sont sous $smail_lib_dir.
# owners - développe les listes de diffusion stockées dans le répertoire des
# propriétaires de listes (répertoire « list owner »).
# Les listes de propriétaires de listes de diffusion peuvent être simplement crées en
# créant un fichier dans le répertoire /etc/smail/lists/owner. Ces listes permettent
# de diffuser localement les messages d'erreurs générées par une liste de diffusion.
# Pour créer une liste des propriétaires d'une liste de diffusion,
# créer un fichier portant le nom de la liste dans /etc/smail/lists/owners.
# Cela va créer une adresse de courrier owner-nom_de_liste,
# telle qu'utilisée par le directeur « lists » plus haut.
owners: driver = forwardfile,
caution, # marque toutes les adresses avec l'indicateur « caution »,
nobody, # puis les associent à l'utilisateur nobody ;
owner = postmaster;
prefix = "owner-",
file = lists/owner/${lc:user} # les listes sont sous $smail_lib_dir.
# request - développe les listes de diffusions stockées dans le répertoire des listes
# de requêtes. Les listes de diffusion des requêtes concernant une liste de diffusion
# peuvent être crées tout simplement en créant un fichier dans le répertoire
# /etc/smail/lists/request. Les adresses requête sont utilisées en général
# comme adresse standard pour les demandes concernant une liste de diffusion.
# Par exemple, les demandes d'abonnement ou de désabonnement pour une liste seront
# en général envoyées à l'adresse « nom_de_liste-request », qui devra être configurée
# pour faire suivre le courrier à la ou les personnes appropriées.
request: driver = forwardfile,
caution, # marque toutes les adresses avec l'indicateur « caution »,
nobody, # puis les associent à l'utilisateur nobody ;
owner = postmaster;
suffix = "-request",
file = lists/request/${lc:user} # les listes sont sous $smail_lib_dir.Vous de devriez pas avoir besoin de changer quoi que ce soit ici, seulement
les option destinées aux listes de diffusions si vous voulez gérer 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!%sCréez ce fichier seulement si vous utilisez ifmail et FIDO. Le fichier routers # forces - force l'utilisation d'un chemin de distribution précis
# L'existence de cette base de donnée est un moyen de coder en dur les chemins d'accès de
# diverses machines ou domaines. Utilisé pour créer des distorsions temporaires
# des autres bases de données de routage. Pour changer la base, éditer le
# fichier maps/force.path puis faire un « make » dans le sous-répertoire 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
# les chemins forcées ;
proto = lsearch, # utiliser le fichier de chemins trié ;
optional,
reopen # se fermer lorsqu'il n'est pas utilisé.
uucp_neighbors:
driver=uuname, # utiliser un programme renvoyant les voisins ;
transport=uux;
cmd="/usr/bin/uuname -a", # plus précisément, utiliser le programme uuname ;
# domain=uucp # enlever le suffixe «~.uucp~»
# smart_host - un directeur vers une «~machine de relais postal~» partiellement définie
# Si l'attribut smart_path du fichier de configuration contient un
# chemin entre l'hôte local et un hôte distant, alors les noms d'hôtes
# qui ne seraient pas reconnus autrement seront réexpédiés vers l'hôte distant
# précédemment mentionné (la machine de relais postal). L'attribut du fichier
# de configuration smart_transport peut être utilisé pour indiquer un moyen
# de transport différent vers la machine-relais.
# Si l'attribut smart_path n'est pas spécifié, ce routeur est ignoré.
smart_host:
driver = smarthost, # Pilote conçu pour ce cas spécial
transport = uux # Par défaut, distribuer via UUCP
# path=phreak
# ifmail - pour envoyer des courriers à fidonet et vice versa.
ifmail:
driver=pathalias,
transport=ifmail;
file=fidopaths,
proto=lsearchVous ne devez inclure la partie ifmail que si vous utilisez ifmail pour les courriers FIDO.
Il est à noter que vous pouvez aussi changer le mode de transport de
uux (i.e., UUCP) vers, par exemple, smtp, ou même
coder en dur les chemins vers
différentes machines ou domaines dans /etc/smail/maps/table.C'est utile si vous voulez que des courriers sortants pour votre réseau local soient
distribués immédiatement, puisque il n'auront pas besoin d'être routé vers la
connexion UUCP de votre accès internet. Le fichier transports # local - distribution du courrier aux utilisateurs locaux
# Indique à smail d'ajouter directement le courrier à la fin des fichiers boîtes
# aux lettres des utilisateurs dans le répertoire /var/spool/mail
#local: driver = appendfile, # ajoute le message à la fin d'un fichier ;
# -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ère > avant From dans le corps du message ;
#
# file = /var/spool/mail/${lc:user}, # utiliser cet emplacement pour Linux ;
# # à noter, le répertoire de stockage de
# courrier doit avoir des droits à 1777 ;
# file = ~/mailfile, # utiliser cet emplacement pour une sécurité accrue ;
# group = mail, # groupe devant être propriétaire des fichiers pour le System V ;
# mode = 0660, # sous System V, le groupe mail doit avoir les droits d'accès ;
# suffix = "\n", # ajouter d'une ligne supplémentaire.
# append_as_user,
# Ceci permet à chaque utilisateur d'avoir un fichier ~/.procmailrc pour contrôler
# le filtrage du courrier et permettre de sauvegarder les courriers provenant de
# listes de diffusions dans des boîtes aux lettres séparées 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ère > 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
# l'adresse du parent ;
pipe_as_user, # utilise l'identifiant utilisateur
# associé avec l'adresse ;
umask = 0022, # droits par défaut du processus fils ;
# -ignore_status, # il faut faire confiance au code de retour ;
# -ignore_write_errors, # réessayer lorsqu'un tube est brisé.
# pipe - distribue le courrier à des commandes shells
# Ceci est implicitement utilisé quand smail rencontre des adresses commençant
# par le caractère barre verticale, comme « |/usr/lib/news/recnews talk.bizarre ».
# La barre verticale est enlevée de l'adresse avant d'être transmise au transport.
#pipe: driver = pipe, # envoyer le message à un autre programme
# # via un tube ;
# return_path, local, from, unix_from_hack;
#
# cmd = "/bin/sh -c $user", # envoyer l'adresse au shell Bourne ;
# parent_env, # tire les informations d'environnement de
# l'adresse du parent ;
# pipe_as_user, # utilise l'identifiant utilisateur
# associé avec l'adresse ;
# umask = 0022, # droits par défaut du processus fils ;
# -log_output, # ne pas enregistrer stdout/stderr dans les logs ;
# ignore_status, # le code de retour peut être faux, l'ignorer ;
# ignore_write_errors, # ignorer les tubes brisés.
# file - distribue le courrier dans des fichiers
# Utilisé implicitement lorsque smail rencontre des adresses qui commencent
# par un barre de division « / » ou un tilde « ~ », comme « /usr/info/list_messages »
# ou peut être « ~/Mail/inbox ».
#file: driver = appendfile,
# return_path, local, from, unix_from_hack;
#
# file = $user, # le nom du fichier est pris dans l'adresse ;
# append_as_user, # utilise l'identifiant utilisateur
# associé avec l'adresse ;
# expand_user, # développe ~ 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
# le courrier destiné à 5 adresses électroniques.
uux: driver = pipe,
-uucp,
inet,
# uucp, # utilise le format d'adresse de style UUCP ;
from, # fourni une ligne d'enveloppe « From_ » ;
max_addrs = 5, # au plus 5 adresses par appel ;
max_chars = 200; # au plus 200 caractères pour une adresses ;
# l'option -r évite une distribution immédiate, les parenthèses autour de la variable
# $user empêche qu'elle soit interprêté par uux.
cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
# cmd="/usr/bin/uux - $host!rmail $(($user)$)",
ignore_write_errors, # ignore les tubes brisés.
umask = 0022,
# pipe_as_sender,
# uux_one_addr - distribue le courrier par UUCP à un hôte distant qui ne peut
# accepter qu'une seule adresse à la fois.
#
# Cela est souvent nécessaire quand on distribue du courrier à un site qui
# tourne sous une version non modifiée de 4.1BSD.
uux_one_addr:
driver = pipe,
uucp, # utilise le format d'adresse de style UUCP ;
from; # fourni une ligne d'enveloppe « From_ » ;
# l'option -r empêche une distribution immédiate.
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écute getmail en tant qu'utilisateur « root » ;
group=mail, # exécute getmail sous le groupe « mail » ;
parent_env, # tire les informations d'environnement de
# l'adresse du parent ;
-pipe_as_user, # utilise l'identifiant utilisateur
# associé avec l'adresse ;
umask = 0007, # droits par défaut du processus fils.
# pour distribuer un message. Le transport SMTP n'est inclus que si le support
# réseau BSD est présent.
# L'attribut uucp peut être positionné pour le transfert dans une zone uucp.
# L'attribut inet doit être positionné pour les transferts vers l'internet.
# note : c'est loin d'être optimal, un logiciel d'arrière-plan devrait exister
# qui puisse prendre en charge plusieurs messages par connection.
# de plus : il peut être nécessaire de restreindre max_addrs à 100, puisqu'il
# s'agit de la limite inférieure qu'une mise en oeuvre de SMTP est tenue de
# prendre en charge.
smtp: driver=tcpsmtp,
inet, # si UUCP_ZONE n'est pas défini ;
# uucp, # si UUCP_ZONE est défini ;
-max_addrs, -max_chars; # pas de limite sur le nombre d'adresses ;
short_timeout=5m, # la durée maximum des opérations courtes ;
long_timeout=2h, # la durée maximum des opérations SMTP plus longues ;
service=smtp, # se connecter à ce port de service ;
# Pour l'utilisation internet : ne pas commenter les 4 lignes qui suivent
use_bind, # résoud les enregistrements A multiples et MX ;
defnames, # utiliser la recherche standard de domaines ;
defer_no_connect, # essayer à nouveau si le serveur est tombé ;
local_mx_okay, # évite un MX vers l'hôte local.
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éfinit les agents de transport (comme UUX, SMTP, etc.)
que vous pouvez utiliser comme paramètres dans les autres fichiers de configuration.Remarquez que j'ai commenté quelques parties comme pipes ou
file pour améliorer la sécurité. Le répertoire maps 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
#U hosts connected via uucp
#W created/edited by
#
hname polux
hname linux.eu.org
hname = polux
hname = polux.linux.eu.orgEncore une fois, adaptez le fichier à votre situation (je suis alimenté
par polux.linux.eu.org).Maintenant le fichier table :
* uuxVous pouvez définir différents transports pour différents chemins, par exemple
smtp pour les machines de votre réseau 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écédents sont ceux que j'utilise pour mon site ; vous ne devriez
pas rencontrer de problèmes en les utilisant comme bases pour vos propres fichiers.Les fichiers suivants sont donnés comme de bons exemples pour configurer smail de différentes
manières.#ident "@(#) transports,v 1.2 1990/10/24 05:20:46 tron Exp"
# Voir smail(5) pour une description complète du contenu de ce fichier
# local - distribution du courrier aux utilisateurs locaux
#
# Indique à smail d'ajouter directement le courrier à la fin des fichiers boîtes
# aux lettres des utilisateurs, contenus dans le répertoire « /usr/mail ».
local: driver = appendfile, # ajouter le message à la fin du fichier ;
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ère > avant From dans le corps du message ;
file = /usr/mail/${lc:user}, # utiliser cet emplacement pour System V ;
group = mail, # groupe devant être propriétaire des fichiers
# pour le System V ;
mode = 0660, # sous System V, le groupe mail doit avoir les
# droits d'accès ;
suffix = "\n", # ajouter d'une ligne supplémentaire.
append_as_user,
# pipe - distribue le courrier à des commandes shells
#
# Ceci est implicitement utilisé quand smail rencontre des adresses commençant
# par le caractère barre verticale, comme « |/usr/lib/news/recnews talk.bizarre ».
# La barre verticale est enlevée de l'adresse avant d'être transmise au transport.
pipe: driver = pipe, # envoyer le message à un autre programme
# via un tube ;
return_path, local, from, unix_from_hack;
cmd = "/bin/sh -c $user", # envoyer l'adresse au shell Bourne ;
parent_env, # tire les informations d'environnement de
# l'adresse du parent ;
pipe_as_user, # utilise l'identifiant utilisateur
# associé avec l'adresse ;
umask = 0022, # droits par défaut du processus fils ;
-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és.
# file - distribue le courrier dans des fichiers
#
# Utilisé implicitement lorsque smail rencontre des adresses qui commencent
# par un barre de division « / » ou un tilde « ~ », comme « /usr/info/list_messages »
# ou peut être « ~/Mail/inbox ».
file: driver = appendfile,
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
# associé avec l'adresse ;
expand_user, # développe ~ et $ dans l'adresse.
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
# le courrier destiné à 5 adresses électroniques.
uux: driver = pipe,
uucp, # utilise le format d'adresse de style UUCP ;
from, # fourni une ligne d'enveloppe « From_ » ;
max_addrs = 5, # au plus 5 adresses par appel ;
max_chars = 200; # au plus 200 caractères pour une adresse ;
# l'option -r évite une distribution immédiate, les parenthèses autour de la variable
# $user empêche qu'elle soit interprêté par uux.
cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
umask = 0022,
pipe_as_sender
# uux_one_addr - distribue le courrier par UUCP à un hôte distant qui ne peut
# accepter qu'une seule adresse à la fois.
#
# Cela est souvent nécessaire quand on distribue du courrier à un site qui
# tourne sous une version non modifiée de 4.1BSD.
uux_one_addr:
driver = pipe,
uucp, # utilise le format d'adresse de style UUCP ;
from; # fourni une ligne d'enveloppe « From_ » ;
# l'option -r empêche une distribution immédiate ;
cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
umask = 0022, pipe_as_sender
# demand - distribution vers un programme rmail distant, connexion à la demande
demand: driver = pipe,
uucp, from, max_addrs = 5, max_chars = 200;
# si l'option -r est omise, essaye de contacter le site distant immédiatement.
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 évite 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édiate ; les adresses de
# destination sont stockées dans les données envoyées vers l'entrée standard de rsmtp.
cmd = "/usr/bin/uux - -r -g$grade $host!rsmtp",
umask = 0022, pipe_as_sender
# demand_uusmtp - distribution vers un programme rsmtp distant, connexion à la demande
demand_uusmtp:
driver = pipe,
bsmtp, -max_addrs, -max_chars;
# si l'option -r est omise, essaye de contacter le site distant immédiatement.
cmd = "/usr/bin/uux - -g$grade $host!rsmtp",
umask = 0022, pipe_as_sender
# smtp - distribution du courrier en utilisant SMTP sur TCP/IP
#
# Se connecte à un hôte distant via TCP/IP et initie une conversation SMTP pour
# distribuer un message.
# Le transport SMTP n'est inclus que si le support réseau BSD est présent.
# note : il peut être nécessaire de restreindre max_addrs à 100, puisqu'il
# s'agit de la limite inférieure 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"
# Ce fichier indique les transports utilisés pour distribuer le courrier
# à des hôtes spécifiques à partir de bargw.
#host transport
#-------- ---------
curdsgw demand_uusmtp # distribue le courrier via des lots de connexions SMTP ;
oldbsd uux_one_addr # les sites 4.1BSD ne peuvent accepter plus d'une adresse ;
sun demand # appelle « sun » lorsqu'il y a du courrier à envoyer ;
* uux # pour tous les autres, connexion à intervalles réguliers. Relancer inetd Pour lancer smail en tant que démon SMTP, ajoutez une des lignes suivantes dans
votre /etc/inetd.conf :
smtp stream tcp nowait root /usr/bin/smtpd smtpd
ou :
smtp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.smtpdLe courrier sortant sera alors envoyé automatiquement quand vous utiliserez elm. Smail et SMTP Généralement les FAI utilisent SMTP. Par conséquent, vous ne devriez pas avoir de
problème pour envoyer votre courrier. Quand vous n'êtes pas connecté à
Internet, lorsque vous envoyez un courrier électronique, il est stocké dans
/var/spool/mail/input. Ensuite, quand vous vous connecterez, runq
sera lancé et votre courrier envoyé. Cependant, le vrai problème est la
réception de votre courrier puisque votre FAI doit s'occuper de plusieurs
clients, et non pas uniquement de vous !Généralement, vous pouvez récupérer votre courrier via le protocole POP
(reportez-vous à la section POP plus bas).