Page suivante Page précédente Table des matières

4. Smail v3.1

Smail3.1 semble un standard de fait comme agent de transport pour des sites n'utilisant que uucp, ainsi que pour quelques sites smtp. Il est facile à configurer, compile sans avoir à patcher les sources et il est assez sûr.

4.1 Configurer smail

Installez les binaires smail à partir de votre distribution (je vous recommande cette façon) ou récupérez les sources de smail et compilez le. Si vous compilez smail à partir des sources, vous devrez avoir ce qui suit dans votre fichier os/linux pour que 'sed' vous donne des scripts qui fonctionnent correctement.

CASE_NO_NEWLINES=true

Une fois configuré, le fichier config ira certainement dans /etc/smail (mais votre configuration peut être différente si vous utilisez d'anciennes distributions) ; Editons les !

4.2 Le fichier config


       # From
       smart_path=polux
       smart_transport=uux

       # To
       hostname=danmark
       domains=linux.eu.org

       visible_name=danmark.linux.eu.org
       uucp_name=danmark.linux.eu.org

       # max_message_size=512k
       # auth_domains=foo.bar
       # more_hostnames=barberouge:barberouge.polux.freenix.fr

Bon, tout d'abord, qui vous alimente ? "polux" m'alimente via uucp (c'est-à-dire par transport uux); naturellement vous aurez besoin de changer ce fichier selon votre propre organisation. Par exemple, "bargw.bar.foobar.com" pourrait vous alimenter via "smtp", dans ce cas vous n'avez pas besoin de fichier de transport et pouvez définir "-transport_file" pour indiquer que vous n'en avez pas besoin.

Vous pouvez aussi utiliser "postmaster_address = votrenom", cacher la topologie du réseau pour les adresses sortantes (si vous êtes une passerelle) en utilisant "visible_name", positionner quelle adresse d'alias pourra aussi être utilisée pour le courriel que vous recevez, en utilisant "more_hostnames".

Lire la documentation smail pour plus de détails ou les exemples dans /usr/doc/smail/examplespour voir si l'un d'eux correspond à votre situation.

4.3 Le fichier directors

  # aliasinclude - développe les adresses ":include:filename" produite par les fichiers 
  # alias. 
  # Cette entrée et la suivante sont du réchauffé. Les raisons
  # d'un changement significatif sont mineures. Leur unique raison est
  # de reconnaitre et de développer les adresses de la forme :
  #       :include:pathname
  # qui peuvent apparaitre dans les fichiers alias ou les fichiers de listes de 
  # diffusions/faire suivre (produite par toute directive dont le pilote (driver) 
  # est forwardfile).
  aliasinclude:
          driver = aliasinclude,          # utiliser ce pilote pour le cas spécial
          nobody;                         # associer l'utilisateur nobody avec les adresses
                                          #  si violation de permissions moyenne (???)
                                          # sont rencontrées 
          copysecure,                     # prendre les permissions du directeur alias
          copyowners,                     # prendre le droit propriétaire du directeur alias

  # forwardinclude - développe les adresses ":include:filename" produites 
  # par les fichiers forward
  forwardinclude:
          driver = forwardinclude,        # utiliser ce pilote pour cas spécial
          nobody;
          copysecure,                     # prendre les permissions du directeur forwarding
          copyowners,                     # prendre le droit propriétaire du directeur 
                                          #  forwarding

  # aliases - cherche à développer les alias stockés dans la base de donnée
  # C'est le fichier aliases standard. Il est utilisé pour les affaires courantes,
  # comme mapper root, postmaster, MAILER-DAEMON et uucp aux administrateurs de site,
  # créer quelques petits systèmes de développement d'alias, ou autres. Dans
  # cette configuration de site, le fichier aliases est utilisé principalement
  # pour des informations d'aliases/forwarding liés aux machines. Les informations générales
  # pour faire suivre le 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 à nobody
                                          # par défaut, donc mettre l'option
                                          # n'est pas trés utile.
          sender_okay,                    # ne pas enlever l'expéditeur lors des 
                                          # développements d'adresses.
          owner=owner-$user;              # les problèmes vont à une adresse propriétaire
          file=/etc/aliases,
          modemask=002,                   # l'accès en écriture ne doit pas être autorisé à tous 
          optional,                       # ignore si le fichier n'existe pas
          proto=lsearch,                  # fichier ASCII non trié.

  # forward - chercher à développer selon le contenu de la base forwarding
  # C'est la base de forwarding utilisateur pour un grand sous-domaine.   
  # Les entrées sont gardées ici pour les utilisateurs en cours ou passé,
  # pour faire suivre leur courrier à leur machine préférée. La base forward
  # est installée sur la couche réseau TCP/IP lors des changements, pour
  # garder le réseau consistent.
  #forward:
  #       driver = aliasfile,             # Directeur d'alias généraliste
  #       -nobody,                        # toutes les adresses sont associés à nobody
  #                                       # par défaut, donc mettre l'option
  #                                       # n'est pas trés utile.
  #       owner = real-$user;             # les problèmes vont à une adresse propriétaire 
  #
  #       file = /etc/forward,
  #       modemask = 002,
  #       proto = dbm,                    # Utiliser la librairie dbm(3X) pour les accès. 

  # dotforward - développe les fichiers .forward dans les répertoires personnels 
  #  des utilisateurs.
  # Pour les utilisateurs qui ont une entrée dans la base "forward", un fichier
  # .forward n'est utilisé que sur la machine personnelle, comme identifiée
  # dans la base forward. Si c'est utilisé, c'est traité comme une liste d'adresse
  # indiquant à qui doit être envoyé les courriels, plutôt (ou en plus) qu'à
  # l'utilisateur référencé dans l'adresse locale.
  dotforward:
          driver = forwardfile,           # le directeur généraliste forwarding
          owner = postmaster, nobody, sender_okay;

          file = ~/.forward,              # Le fichier .forward dans le 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 
          # être trés attentif aux accès à distance des répertoires utilisateurs (?)  
          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 du suivi de courrier V6/V7/System-V qui utilise 
  # une ligne des adresses forward au début des fichiers boites aux lettres (BAL) utilisateur 
  # avec comme préfixe la chaîne "Forward to "
  forwardto:
          driver = forwardfile,
          owner = postmaster, nobody, sender_okay;

          file = /var/spool/mail/${lc:user},      # pointe sur la BAL utilisateur
          forwardto,                      # autorise 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 à la permission écrire
          caution = daemon:root           # ne rien exécuter sous root ou daemon

  # user - apparie un utilisateur sur l'hôte local et délivre le courrier 
  # dans leur boîte aux lettres (BAL).
  user:   driver = user;                  # pilote pour apparier les utilisateur
          transport = local               # le transport local va dans les BALs

  # real_user - apparie les utilisateurs préfixés avec la chaîne "real-"
  # Trés utile pour permettre à une adresse de délivrer expllicitement dans
  # une BAL utilisateur. Par exemple, les erreurs dans le développement d'un fichier 
  #.forward pourra être délivrer ici, ou des boucles de suivi de courrier entre
  # plusieurs machines peuvent être résolues en utilisant une adresse real-utilisateur. 
  # Aussi, les utilisateurs ui souhaite utiliser le courriel comme moyen de transfert de 
  # données vers une machine qui n'est pas leur machine personnelle peuvent envoyer un
  # courriel à real-nom-de-login@hôte-distant.
  real_user:
          driver = user;
          transport = local,
          prefix = "real-"                # par exemple, apparie 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,                        # transmet toutes les adresses avec précaution
          nobody,                         # puis associe l'utilisateur nobody
          owner = owner-$user;            # Les sites system V peuvent vouloir utiliser
                                          # o-$user, puisque owner-$user peut être
                                          # trop long pour un fichier 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 list owner.
  # Les listes de diffusion listes propriétaires peuvent être simplement crées en
  # créant un fichier dans le répertoire /etc/smail/lists/propriétaire. Les listes de 
  # diffusion propriétaires sont envoyées localement, les erreurs générées s'arrangent 
  # avec la liste de diffusion du même nom. Pour créer une liste propriétaire pour une 
  # liste de diffusion,  créer un fichier avec le nom de la liste dans 
  # /etc/smail/lists/propriétaire. Cela va créer une adresse de liste de nom 
  # propriétaire-nom_de_liste, comme utilisée par le directeur "lists" plus haut.
  owners: driver = forwardfile,
          caution,                        # transmet toutes les adresses avec précaution
          nobody,                         # puis associe l'utilisateur nobody
          owner = postmaster;             # Les sites system V peuvent vouloir utiliser
                                          # o-$user, puisque owner-$user peut être
                                          # trop long pour un fichier de 14 caractères.
          prefix = "owner-",
          file = lists/owner/${lc:user}   # Les listes sont sous $smail_lib_dir

  # request - développe les listes de diffusions stockées dans un répertoire de liste 
  # de requête. Les listes de diffusion listes de requête peuvent être crées simplement 
  # en créant un fichier dans le répertoire /etc/smail/lists/request. Les adresses requête 
  # sont utilisées typiquement comme adresse standard pour les interrogations à propos 
  # d'une liste de diffusion. Par exemple, les requêtes pour s'abonner ou se désabonner 
  # d'une liste seront généralement envoyées à "list-request", qui devra être configurée 
  # pour faire suivre le courrier à la ou les personnes appropriées.
  request: driver = forwardfile,
          caution,                        # transmet toutes les adresses avec précaution
          nobody,                         # puis associe l'utilisateur nobody
          owner = postmaster;             # Les sites system V peuvent vouloir utiliser
                                          # o-$user, puisque owner-$user peut être
                                          # trop long pour un fichier de 14 caractères.
          suffix = "-request",
          file = lists/request/${lc:user} # les listes sont sous $smail_lib_dir

4.4 Le fichier fidopaths

Créez un tel fichier seulement si vous utilisez ifmail et FIDO.

4.5 Le fichier routers

# forces - forcer certains chemins d'accès
  # L'existence de cette base de donnée est un moyen de coder en dur les chemins des
  # 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,             # route au fichier de recherche de chemins
          method = /etc/smail/maps/table; # Les parties transports sont dans ce fichier
          file = forcepaths,              # fichier d'information contenant le forçage de 
                                          #  chemins
          proto = lsearch,                # utilise le fichier de chemin trié
          optional,
          reopen                          # ferme quand pas utilisé

  uucp_neighbors:
          driver=uuname,                  # utilise un programme renvoyant les voisins
          transport=uux;
          cmd="/usr/bin/uuname -a",       # spécifiquement, utilise le programme uuname 
  #        domain=uucp                    # enlève le suffixe ".uucp"

  # smart_host - un directeur spécifique particulier d'hôte intelligent
  # Si l'attribut smart_path du fichier de configuration est défini comme
  # chemin entre l'hôte local et l'hôte distant, alors les noms d'hôtes
  # qui ne seraient pas reconnus sinon seront envoyées au ?. L'attribut
  # du fichier de configuration smart_transport peut être utilisé pour
  # indiquer un transport différent.
  # Si l'attribut smart_path n'est pas spécifié, ce routeur (?) est ignoré. 
  smart_host:
          driver = smarthost,             # Pilote du cas spécial (?)
          transport = uux                 # Par défaut livre via UUCP
  #       path=phreak

  # ifmail - pour envoyer des courriels à fidonet et vice versa.
  ifmail:
          driver=pathalias,
          transport=ifmail;
          file=fidopaths,
          proto=lsearch

Vous ne devez include la partie ifmail que si vous l'utilisez pour les courriels FIDO. A noter, vous pouvez aussi changer le mode de transport de "uux" (c'est-à-dire UUCP) pour, par exemple, "smtp" ou même coder en dur les chemins vers différentes machines ou domaines dans /etc/smail/maps/table.

4.6 Le fichier transports

  # local - délivre le courriel aux utilisateurs locaux
  # Indique à smail d'ajouter directement dans les fichiers BAL dans le répertoire 
  # /var/spool/mail
  #local: driver = appendfile,            # ajoute le message à un fichier
  #       -return_path,                   # ajoute le champ  Return-Path: 
  #       local,                          # utiliser la forme locale pour la livraison
  #       from,                           # Ajoute la ligne d'enveloppe From_ 
  #       unix_from_hack;                 # insère > avant From dans le corps
  #
  #       file = /var/spool/mail/${lc:user},      # Utiliser cet emplacement pour Linux
  #                                               # A noter, le spool courriel doit être 1777
  #       file = ~/mailfile,       # Utiliser cet emplacement pour une sécurité accrue
  #       group = mail,            # groupe pour être propriétaire des fichiers pour System V
  #       mode = 0660,             # sous System V, le groupe mail doit pouvoir accéder
  #       suffix = "\n",           # ajouter un code nouvelle ligne supplémentaire
  #       append_as_user,

  # Cela permet à chaque utilisateur d'avoir un fichier ~/.procmailrc pour contr^oler 
  # le filtrage du courriel et sauver le courriel des listes de diffusions dans des BAL 
  # séparées s'ils le souhaitent
  local:  +inet,
          -uucp,
          driver = pipe,                  # ajoute un message à un fichier
          return_path,                    # inclue un champ Return-Path: 
          local,                          # utilise la forme locale pour la livraison
          from,                           # Ajoute la ligne d'enveloppe From_
          unix_from_hack;                 # insère > avant From dans le corps

          cmd = "/usr/bin/procmail",      # utilise procmail pour délivrer le courrier local
          parent_env,                     # environment info from parent addr
          pipe_as_user,                   # utilise le user-id associé avec l'adresse
          umask = 0022,                   # umask pour le processus fils
  #       -ignore_status,                 # On devrait croire au code de retour
  #       -ignore_write_errors,           # réessayer si un tube est cassé 

  # pipe - délivre le courriel à des commandes shells.
  # Cela est utilisé implicitement quand smail rencontre des adresses commençant 
  # avec un 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,                  # tuber le message à un autre programme
  #       return_path, local, from, unix_from_hack;
  #
  #       cmd = "/bin/sh -c $user",       # envoyer l'adresse au Bourne Shell
  #       parent_env,                     # les info d'environnement de l'adresse parent
  #       pipe_as_user,                   # utilise le user-id associé avec l'adresse
  #       umask = 0022,                   # umask pour le processus fils
  #       -log_output,                    # ne pas enregistrer stdout/stderr dans les logs
  #       ignore_status,                  # le code de retour peux être faux, l'ignorer
  #       ignore_write_errors,            # ignorer les tubes cassées.

  # file - délivrer le courrier dans des fichiers
  # Utilisé implicitement lorsque smail rencontre des adresses qui commencent
  # par un slash (/) ou un caractère unique, comme  "/usr/info/list_messages"
  # ou peut être "~/Mail/inbox".
  #file:  driver = appendfile,
  #       return_path, local, from, unix_from_hack;
  #
  #       file = $user,                   # le fichier est pris dans l'adresse
  #       append_as_user,                 # utilise le user-id associé avec l'adresse
  #       expand_user,                    # développe ~ et $ dans l'adresse
  #       check_path,
  #       suffix = "\n",
  #       mode = 0644
  # uux - deliver to the rmail program on a remote UUCP site
  #
  # Dans une transaction UUCP on peut délivrer à l'hôte distant jusqu'à 
  # cinq adresses destinataires
  uux:    driver = pipe,
          -uucp,
          inet,
  #       uucp,                           # utilise la forme d'adresse style UUCP
          from,                           # fourni une ligne d'enveloppe From_ 
          max_addrs = 5,                  # au plus 5 adresses par invocation
          max_chars = 200;                # au plus 200 caractères d'adresses
  # le drapeau -r la livraison immédiate, des parenthèses autour de la variable
  # $user emp^eche l'interprétation des caractères spéciaux 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 cassés.
          umask = 0022,
  #       pipe_as_sender,

  # uux_one_addr - délivre le courrier par UUCP à un hôte distant qui ne peut 
  #                prendre qu'une adresse à la fois.
  # Cela est souvent nécessaire quand on livre le courrier à un site qui 
  # tourne sous une version non modifiée de 4.1BSD.
  uux_one_addr:
          driver = pipe,
          uucp,                           # utilise le style UUCP pour les formes d'adressage
          from;                           # fourni une ligne d'enveloppe From_ 
  # le drapeau -r empêche une livraison immédiate
          cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
          umask = 0022,
          pipe_as_sender

  queueonly:
          driver = pipe;                  # envoi de message à un tube
          cmd = "/usr/lib/sendmail -Q -f $sender -bm $user",
                                          # utilise getmail pour les livraisons locales
          user=root,                      # exécute getmail sous "root"
          group=mail,                     # exécute getmail sous "mail"
          parent_env,                     # Les infos d'environement de l'adresse parent
          -pipe_as_user,                  # utiliser le user-id associé avec l'adresse
          umask = 0007,                   # umask du processus fils

  # pour delivrer un message. Le transport smtp est inclue seulement si
  # le réseau BSD existe.
  # 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 presque optimal, un backend ??? devrait exister qui prendrait en charge
  #       plusieurs messages par connection.  
  # AUSSI: il peut être nécessaire de restreindre max_addrs à 100, puisqu'il 
  #  s'agit de la limite inférieure dont a besoin l'implémentation SMTP pour
  # prendre en charge un message.

  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,               # le timeout pour les opérations courtes
          long_timeout=2h,                # le timeout pour les 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 MX et A multiple A
         defnames,                       # utiliser la recherche de domaine standard
         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 l'utilisez pour les courriels FIDO. A part cela, vous ne devriez pas avoir besoin d'éditer quoi que ce soit dans ce fichier définissant les agents de transport (comme uux, smtp ...) vous pouvez les utiliser comme paramètres dans l'autre fichier config.

A noter que j'ai commenté quelques parties, comme les "pipes" ou "file", pour améliorer la sécurité.

4.7 Le répertoire maps/

Il contient les fichiers map et tables :

Commençons par 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.org

Encore une fois, éditez ce fichier pour correspondre à votre organisation (je suis alimenté par polux.linux.eu.org).

Maintenant le fichier table

       *       uux

Vous pouvez définir différent transport pour différents chemins, par exemple "smtp" pour vos machines dans votre réseau local, "uux" (c'est-à-dire uucp) pour le reste du monde ou vice-versa (j'utilise uucp pour tous courriers électroniques sortant, et donc j'utilise "*" !).

4.8 D'autres bons exemples

Les fichiers précédents sont ceux que j'utilise actuellement pour mon site, vous ne devriez rencontrer aucun problème en les utilisant comme exemples/bases pour vos propres fichiers.

Les fichiers ci-dessous sont seulement fournis en tant que bons exemples pour configurer smail de différentes façons.

#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 - délivre le courrier aux utilisateurs nouveaux
  #
  # Indiquer à smail d'ajouter directement aux fichiers BAL utilisateur dans le
  # répertoire /usr/mail.
  local:  driver = appendfile,            # ajouter le message au fichier
          return_path,                    # inclue le champ Return-Path: field
          local,                          # utiliser les formes locales pour la livraison
          from,                           # fourni une ligne enveloppe From_ 
          unix_from_hack;                 # insère > avant From dans le corps

          file = /usr/mail/${lc:user},    # utiliser cet emplacement pour System V
          group = mail,                   # groupe propriétaire de fichier pour System V
          mode = 0660,                    # sous System V, le groupe mail a accès
          suffix = "\n",                  # ajoute à nouveau un retour chariot supplémentaire
          append_as_user,

  # pipe - délivre du courrier à des commandes shell
  #
  # Ceci est utilisé implicitement lorsque smail rencontre des adresses qui
  # commencent par une barre verticale, comme "|/usr/lib/news/recnews talk.bizarre".
  # La barre verticale est enlevée de l'adresse avant d'être donnée au 
  # transport 

  pipe:   driver = pipe,                  # tube le message à un autre programme
          return_path, local, from, unix_from_hack;

          cmd = "/bin/sh -c $user",       # envoi l'adresse au Bourne Shell
          parent_env,                     # info d'environement de l'adresse parent 
          pipe_as_user,                   # utilise le user-id associé avec l'adresse
          umask = 0022,                   # umask 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 cassés

  # file - délivre du courrier dans des fichiers
  #
  # Ceci est utilisé implicitement quand smail rencontre des adresses qui commencent
  # avec un caractère slach ou tilde, comme "/usr/info/list_messages" ou aussi
  # "~/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,                 # le user-id associé avec l'adresse
          expand_user,                    # développe ~ et $ dans l'adresse
          suffix = "\n",
          mode = 0644

  # uux - délivre au programme rmail pour un site UUCP distant 
  #
  # Dans une transaction UUCP on peut délivrer à l'hôte distant jusqu'à 
  # cinq adresses destinataires
  uux:    driver = pipe,
          uucp,                           # utilise le style UUCP comme forme d'adressage
          from,                           # fourni une ligne d'enveloppe From_
          max_addrs = 5,                  # au plus 5 adresse par invocation
          max_chars = 200;                # au plus 200 caractères pour l'adresse

          # le drapeau -r empeche une livraison immédiat, les parenthèses autour
          # de la variable $user empeche l'interprétation des caractères spéciaux par uux.
          cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
          umask = 0022,
          pipe_as_sender
  # uux_one_addr - délivre le courrier à travers UUCP à un hote distant qui prends 
  # une adresse à la fois
  #
  # Cela est souvent nécessaire lorsque l'on délivre du courrier à un site utilisant
  # une version non modifiée de 4.1BSD.
  uux_one_addr:
          driver = pipe,
          uucp,                           # utilise le style  UUCP comme forme d'adressage
          from;                           # fourni une ligne d'enveloppe From_

          # le drapeau -r empeche la livraison immédiate
          cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
          umask = 0022, pipe_as_sender

  # demand - délivre à un programme rmail distant, polling on demand
  demand: driver = pipe,
          uucp, from, max_addrs = 5, max_chars = 200;

          # sans le drapeau -r, essaye de contacter le site distant immédaitement
          cmd = "/usr/bin/uux - -g$grade $host!rmail $(($user)$)",
          umask = 0022, pipe_as_sender

  # uusmtp - délivre à un programme rsmtp vers un site UUCP distant
  #
  # Deliver utilise un protocole de lot de commandes simple vers la machine distante
  # Cela permet d'utiliser beaucoup plus d'adresses arbitraires.
  # lève les limites sur les adresses destinataires par invocation de uux.
  uusmtp: driver = pipe,
          bsmtp,                          # envoi des lots de commande SMTP
          -max_addrs,                     # il n'y a pas de limite sur le nombre
          -max_chars;                     # et la taille totale des adresses destinataires

    # mettre -r pour que la livraison ne soit pas immédiate, les adresses destinataires
    # sont stockées dans les données envoyées à l'entrée standard de smtp.
          cmd = "/usr/bin/uux - -r -g$grade $host!rsmtp",
          umask = 0022, pipe_as_sender

  # demand_uusmtp - délivre à un programme rsmtp distant, polling on demand
  demand_uusmtp:
          driver = pipe,
          bsmtp, -max_addrs, -max_chars;

          # sans le drapeau -r, essaye de contacter le site distant immédiatement
          cmd = "/usr/bin/uux - -g$grade $host!rsmtp",
          umask = 0022, pipe_as_sender

  # smtp - délivre le courrier en utilisant SMTP sur TCP/IP
  #
  # Se connecter à un hote distant en utilisant TCP/IP et initie une conversation SMTP
  # pour delivrer un message. Le transport smtp est inclue seulement si le réseau BSD existe.
  

  # NOTE: il peut etre nécessaire de restreindre max_addrs à 100, puisque c'est la limite
  #       inférieure requise pour SMTP pour prendre en charge un message.
  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 livrer le courrier
  # à des hotes spécifiques à partir de bargw.
  
  #host           transport
  #--------       ---------
  curdsgw         demand_uusmtp   # deliver utilisant le SMTP par lots
  oldbsd          uux_one_addr    # Les sites 4.1BSD ne peuvent prendre plus d'une adresse
  sun             demand          # appelle sun lorsqu'il y a du courrier à envoyer
  *               uux             # pour tous les autres, poll at intervals

4.9 Relancer inetd

Pour exécuter smail en tant que démon smtp, ajoutez une des lignes suivantes dans /etc/inetd.conf:

 smtp stream tcp nowait  root  /usr/bin/smtpd smtpd
ou :
smtp stream tcp nowait  root  /usr/sbin/tcpd  /usr/sbin/in.smtpd

Le courrier électronique sortant est envoyé automatiquement, quand vous utilisez elm.

4.10 Smail et smtp

Généralement, les fournisseurs d'accès (ISP) utilisent smtp, par conséquent vous ne devriez pas avoir de problème pour envoyer vos courriels. Si votre ligne internet est hors service lors de l'envoi de courriel, dans ce cas les courriels résident dans /var/spool/smail/input. Lorsque la ligne est à nouveau opérationnelle, runq est démarré et envoi les courriels en attente. Toutefois, la réception de courriel est le problème puisque votre fournisseur d'accès a plusieurs clients à gérer, et pas seulement vous !

Habituellement, vous pouvez récupérer vos courriels via le protocole POP, voir la section POP ci-dessous.


Page suivante Page précédente Table des matières