  Linux e-post HOWTO
  Guylhem Aznar <guylhem@oeil.qc.ca>. Svensk versttning
  Tomas Carlsson <md5tc@mdstud.chalmers.se>
  v2.1, July 1998. Svensk version Augusti 1998

  Detta dokument beskriver konfiguration och underhll av elektronisk
  post (e-post) i Linux.  Du behver lsa detta om du planerar att kom
  municera lokalt eller till andra sajter med elektronisk post.  Du
  behver antagligen *inte* lsa detta dokument om du inte utvxlar
  elektronisk post med andra anvndare p ditt system eller med andra
  sajter.
  ______________________________________________________________________

  Innehllsfrteckning




















































  1. Introduktion, copyright och standard disclaimer

     1.1 Email och spammning
     1.2 Ml
     1.3 Nya versioner
     1.4 Feedback
     1.5 Copyright
     1.6 Begrnsad garanti

  2. Andra kllor fr information

     2.1 USENET
     2.2 E-postlistor
     2.3 Andra dokument frn LDP
     2.4 Bcker

  3. Krav

     3.1 Hrdvara
     3.2 Mjukvara

  4. Qmail v1.03

     4.1 Att f tag p qmail
     4.2 Att packa upp kllkoden
     4.3 Att frbereda kompilering
     4.4 Att konfigurera qmail
        4.4.1 defaultdomain, me, plusdomain
        4.4.2 locals, rcpthosts
        4.4.3 virtualdomains
     4.5 Att testa qmail
     4.6 Att ta bort din andra MTA
     4.7 Det var allt !

  5. Smail v3.1

     5.1 Att konfigurera smail
     5.2 Filen
     5.3 Filen
     5.4 Filen
     5.5 Filen
     5.6 Filen
     5.7 Katalogen
     5.8 Andra bra exempel
     5.9 Starta om inetd
     5.10 Smail med smtp

  6. GAMMALT AVSNITT: Sendmail+IDA

     6.1 Installation av kllkod
     6.2 Filen
     6.3 Att definiera en lokal e-postutdelare
     6.4 Sendmail+IDA dbm tabeller
     6.5 S vilka poster krvs?
     6.6 Sendmail 8.x
     6.7 Exempel p 8.7.x
     6.8 Sendmail v8 skillnader
     6.9 Lokala e-postutdelare

  7. POP e-post

     7.1 Historia
     7.2 Att hmta e-post
     7.3 Att skicka e-post
     7.4 Att lsa e-post
     7.5 Testning
     7.6 Anvndning

  8. E-post

     8.1 Mutt
     8.2 Elm
     8.3 Mailx
     8.4 Andra anvndarprogram

  9. Tillknnagivanden



  ______________________________________________________________________

  1.  Introduktion, copyright och standard disclaimer



  1.1.  Email och spammning


  Frst och frmst, byt ut alla "at" i e-post till "@".

  Det r ltt fr mnniskor, men inte fr program som sker webben fr
  att spamma; drfr r det tillrckligt fr att skydda genersa
  bidragsgivare mot att bli spammade!


  1.2.  Ml


  Avsikten med detta dokument r att svara p vissa av de frgor och
  kommentarer som verkar svara mot definitionen "ofta frgade frgor" om
  e-postmjukvara i Linux generellt och speciellt versionen i
  distributionerna Debian och RedHat.


  1.3.  Nya versioner


  Nya versioner av detta dokument (den engelska versionen) kommer
  periodvis att postas till comp.os.linux.announce, comp.answers och
  mail.answers. De kommer ven att finnas p de olika anonyma ftp-
  sajterna som innehller sdan information, inklusive
  ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO.

  Dessutom, br du oftast hitta detta dokument p Linux WorldWideWeb
  hemsidan p http://sunsite.unc.edu/mdw/linux.html.


  1.4.  Feedback


  Jag r intresserad av all feedback, positiv eller negativ, som har att
  gra med innehllet i detta dokument via e-post. Kontakta mig
  definitivt om du hittar fel eller sjlvklara uteslutanden.

  Jag lser, men svarar inte ndvndigtvis, p all e-post som jag tar
  emot. Frfrgningar om frbttringar kommer att beaktas och sedan
  utfras beroende av den dagens kombination av tillgnglig tid,
  kvaliteten p frfrgningen och den dagens blodtryck :-)

  Flames kommer i det tysta att dirigeras till /dev/null s dsla ingen
  tid.

  Feedback angende formatet p dokumentet br skickas till HOWTO
  koordinatorn: Greg Hankins (gregh at sunsite.unc.edu).


  1.5.  Copyright


  Mail-HOWTO r kopieringsrttskyddad (c) 1998 Guylhem Aznar.
  Distribuerad under LDP copyright licens.  Om du har frgor, var vnlig
  kontakta Greg Hankins, koordinatorn fr Linux HOWTOs, p gregh at
  sunsite.unc.edu.


  1.6.  Begrnsad garanti


  Sjlvklart, jag avsger mig allt ansvar fr innehllet i detta
  dokument. Anvndning av principer, exempel, och/eller annat innehll i
  detta dokument sker p egen risk.


  2.  Andra kllor fr information



  2.1.  USENET


  Det r inget "konstigt" med att konfigurera och kra e-postmjukvara i
  Linux (lngre). Drfr vill du nstan skert *INTE* posta generella
  frgor om e-post till comp.os.linux.* diskussionsgrupper.

  Posta inte i comp.os.linux hierarkin om det inte verkligen r linux
  specifikt, till exempel: "Vilka alternativ kompilerades Debian 1.2
  sendmail med?" eller "RedHat 5.0 smail krashar nr jag kr det".

  Lt mig upprepa det.

  Det finns i stort sett ingen anledning att posta ngot e-postrelaterat
  till comp.os.linux hierarkin lngre. Det finns existerande
  diskussionsgrupper i comp.mail.* hierarkin som kan ta hand om *ALLA*
  dina frgor.

  OM DU POSTAR I COMP.OS.LINUX.* MED ICKE-LINUX-SPECIFIKA FRGOR, S
  LETAR DU EFTER HJLP P FEL STLLE.  EXPERTERNA P E-POST FINNS P DE
  PLATSER SOM NMNS OVAN OCH KR VANLIGTVIS INTE LINUX.

  ATT POSTA TILL LINUX HIERARKIN MED ICKE-LINUX-SPECIFIKA FRGOR SLSAR
  BORT DIN OCH ALLA ANDRAS TID, OCH DET FRLNGER SVARSTIDEN P DIN
  FRGA.

  BRA PLATSER r:

             comp.mail.elm           ELM e-post system.
             comp.mail.mh            Rand Message Handling system.
             comp.mail.mime          Multipurpose Internet Mail Extensions.
             comp.mail.misc          Generella diskussioner om datorpost.
             comp.mail.multi-media   Multimedia Mail.
             comp.mail.mush          Mail User's Shell (MUSH).
             comp.mail.sendmail      BSD sendmail agent.
             comp.mail.smail         smail mail agent.
             comp.mail.uucp          Mail i uucp omgivning.




  2.2.  E-postlistor


  Det finns mnga e-postlistor fr sendmail, smail och qmail.

  Du kan hitta adresser i /usr/doc/den_du_har_valt.


  2.3.  Andra dokument frn LDP


  Det finns gott om utmrkt material i andra Linux HOWTO dokument och
  frn Linux DOC projektet.

  Speciellt, s kan fljande vara bra att titta p:


    p din egen dator i /usr/doc/ :-)

    Linux Networking Administrators' Guide

    Serial Communications HOWTO

    Ethernet HOWTO

    UUCP HOWTO om du anvnder UUCP


  2.4.  Bcker


  Fljande r en lista p bcker som kan vara bra:


    "Managing UUCP and USENET" frn O'Reilly and Associates r enligt
     min uppfattning den bsta boken fr att lista ut hur programmen och
     protokollen fungerar som behvs fr att vara en USENET sajt.

    "Unix Communications" frn The Waite Group innehller en bra
     beskrivning av alla delarna och ur de passar ihop.

    "Sendmail" frn O'Reilly and Associates verkar vara den definitiva
     referensen till sendmail-v8 och sendmail+IDA. Det r ett "mste"
     fr alla som rknar med att f sendmail att fungera utan blod.

    "The Internet Complete Reference" frn Osborne r en bra
     referensbok som frklarar de olika tjnsterna som finns
     tillgngliga p Internet och r en utmrkt klla fr information om
     nyheter, e-post och andra Internet resurser.

    "The Linux Networking Administrators' Guide" frn Olaf Kirch i
     Linux Documentation Project finns tillgnglig p ntet och r ven
     publicerad av (tminstonde) O'Reilly och SSC.

     Det r en bra "allt-i-ett" fr att lra sig allt mjligt om
     Unixntverk.



  3.  Krav






  3.1.  Hrdvara


  Det finns inga speciella hrdvarukrav fr mail i Linux.

  Du behver ngon sorts 'transporteringsmjukvara' fr att ansluta till
  andra system, vilket betyder antingen TCP/IP eller UUCP.

  Detta kan betyda att du behver ett modem eller ett ethernetkort,
  beroende p din konfiguration. I de flesta fall s vill man ha det
  snabbaste modem man har rd med, t.ex V90 57600 bps fr nrvarande.
  Generellt s behver man en 16550 UART p sitt seriekort eller inbyggt
  i modemet fr att hantera hastigheter ver 9600 baud.

  Om du inte vet vad den sista meningen betyder, var vnlig att titta i
  comp.dcom.modems eller i de olika FAQsen fr modem och seriell
  kommunikation och periodiska inlgg p USENET.


  3.2.  Mjukvara


  Okej, nu kommer problemen. Vilken e-postmjukvara skall du vlja?

  Fr nrvarande finns qmail, smail, vmail och sendmail.

  Vart och ett har sina egna egenskaper, men den bsta kompromissen r
  qmail fr hg skerhet (ven att vmail r skrare), hg hastighet
  (ven att smail r snabbare fr lokal post) och fr ltt
  konfiguration.

  Du fr sjlvklart vlja sjlv vilken mjukvara du vill anvnda,
  informationen hr skall bara hjlpa dig i ditt val.

  Sendmail kan vara bra fr mnga sajter med komplicerade alternativ,
  men jag tycker att dess konfiguration r fr svr fr nybrjare medans
  den inte r srskilt sker eller srskilt snabb. S det finns endast
  ett riktigt gammalt avsnitt om sendmail i denna HOWTO.

  Om du vet vad du gr, vlj sendmail (och du borde inte lsa denna
  HOWTO!); annars rekommenderar jag generellt qmail.


  4.  Qmail v1.03


  Sker, snabb och ltt att anvnda. Detta r den MTA (Mail Transport
  Agent) som jag fredrar.

  Fr nrvarande s inkluderas qmail inte i ngon distribution av Linux,
  s vi skall fokusera p att kompilera och installera qmail, eftersom
  det r det enda som r lite besvrligt. Konfigurationen r ganska
  okomplicerad.


  4.1.  Att f tag p qmail


  G till http://www.qmail.org fr att ladda ner den senaste versionen.


  4.2.  Att packa upp kllkoden


  Packa sedan upp den genom att kra:

  mv qmail.tar.gz /usr/local/src
  cd /usr/local/src ; tar -zxvf qmail.tar.gz




  Om du hittar en bz2 version (nytt och bttre kompressionsformat),
  erstt bara tar med:


       bunzip2 qmail.tar.bz2
       tar -xvf qmail.tar





  4.3.  Att frbereda kompilering


  G nu in i qmail katalogen och titta p den frinstllda
  konfigurationen:


       cd qmail; more conf-*




  Du br inte behva ndra ngra frinstllda vrden, men du kan till
  exempel ange en alternativ katalog fr installationen eller bttre
  kompileringsflaggor.

  Kr nu:


       mkdir /var/qmail




  fr att skapa mlkatalogen.

  Om du inte har installerat en Debian distribution s behver du lgga
  till qmail anvndare; qmails hga skerhet r beroende av detta.

  Ingen kommer att kunna frstra hela ditt e-postsystem eller f root-
  access eftersom qmail r uppdelat i moduler som var och en kr under
  sitt eget UID.

  S kr:


          # 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 qmail
          # useradd -g qmail -d /var/qmail qmailq
          # useradd -g qmail -d /var/qmail qmailr
          # useradd -g qmail -d /var/qmail qmails




  eller ndra /etc/passwd och /etc/group fr hand s att dessa anvndare
  lggs till. Du kan till exempel lgga till:



               qmail:*:2107:
               nofiles:*:2108:




  &



               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/true




  Nu kan du kra


       make setup check




  fr att testa din konfiguration, sedan:


       ./config




  fr att konfigurera qmail.

  Nu mste du installera ngra alias, eftersom /etc/alias inte anvnds
  av qmail om du inte kompilerar och installerar ngot valfritt paket.

  Hr r mina instllningar:


















  File : ".qmail-MAILER-DAEMON"
  &postmaster
  File : ".qmail-bin"
  &root
  File : ".qmail-daemon"
  &root
  File : ".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)"




  Du mste skapa var och en av dessa filer i ~alias, och erstta
  &guylhem i .qmail-root med ditt eget anvndarnamn fr att f root-e-
  post.

  VARNING ALLA UUCP ANVNDARE !

  LITA INTE P QMAIL FAQ OM DU ANVNDER UUCP, ANVND MIN .qmail-uucp-
  default ISTLLET!  ANNARS KOMMER DU INTE KUNNA SKICKA E-POST VIA DIN
  UUCP ANSLUTNING!

  Nu mste du bestmma i vilket format dina anvndare skall f sin e-
  post.

  Hr r mitt frslag:

    Fr NFS-monterade hemkataloger, anvnd MAILDIR format med en patch
     fr lokala e-postlsare (patchar finns p http://www.qmail.org)

    Om ingen patch finns tillgnglig, tag MAILFILE format; alla e-
     postlsare kan lsa en fil som innehller e-post, anvndarna
     behver bara skapa ett alias (fr bash) eller en setenv (fr csh)
     fr deras e-postlsare.

    Undvik /var/spool/mail/$USER format, fr oskert.


  Fr att fixa standardformat, ls alla filer i /var/qmail/boot, kopiera
  sedan den du tycker bst om till /var/qmail/rc.

  home eller proc r skra val, men jag fredrar home av skerhetsskl.


  4.4.  Att konfigurera qmail


  I /var/qmail/control, editera :


  4.4.1.  defaultdomain, me, plusdomain



    me r ditt lokala FQDN (fully qualified domain name), till exempel
     p min maskin r det barberouge.linux.lmm.com

    defaultdomain kommer att adderas till alla datornamn som inte
     innehller ngra punkter, inklusive defaulthost, du kan till
     exempel stta det till lokalantverket s att all e-post som snds
     till joe@hansdator kommer att kompletteras och skickas till
     joe@hansdator.lokalantverket istllet.

    plusdomain r undantaget; det adderas till alla datornamn som
     slutar med ett plustecken, inklusive defaulthost (stts i me) om
     den slutar med ett plustecken.

  Fljande tre exempel visar hur kraftfullt och lttkonfigurerat qmail
  r:


  4.4.2.  locals, rcpthosts


  Om du vill stdja virtuella domnnamn, skriv in ytterligare namn i
  dessa filer.

  All e-post som du tar emot fr dessa namn kommer att hanteras lokalt.

  Skillnaden mellan locals och rcpthosts r att den senare ses som ett
  lokalt alias, vilket r anvndbart om du fr mail frn ngon fri e-
  postadress som yahoo.com eller lemel.fr samtidigt som du ven skickar
  e-post till andra anvndare av dessa icke-lokala tjnster, dvs du vill
  inte hantera e-post som snds till ngon@yahoo.com lokalt.


  4.4.3.  virtualdomains


  Hr kan du specificera standardlget fr utgende e-post, till
  exempel:


       #:alias-uucp




  om du inte vill skicka utgende e-post med uucp utan med smtp
  (standard) eller


       :alias-ucp

  om du skickar utgende e-post med uucp.


  4.5.  Att testa qmail


  Nu r det konfigurerat, prova:


       sh -cf '/var/qmail/rc &'




  fr att kra igng qmail (det kommer inte att stra din lokala MTA),
  sedan:



       echo to: mylogin | /var/qmail/bin/qmail-inject




  Du br f detta i det format som du har valt i /var/qmail/boot/.


  4.6.  Att ta bort din andra MTA


  Om denna testen var lyckad, s kan du dda din tidigare MTA:

  killall -STOP daemon_name ; om ngra barnprocesser r igng s br du
  gra killall -CONT deras_namn, wait, killall -STOP igen, och repetera
  ad nauseam.

  Om det inte finns ngra barnprocesser, killall -TERM och sedan killall
  -CONT.

  Tag sedan bort den (hur detta grs beror p vilken distribution du
  har, till exempel 'rpm -e --nodeps' i RedHat, Caldera och Suse, eller
  'dpkg -r --force-depends' i Debian). Kr sedan:


       # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
       # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail




  Stt sedan in qmail-smtpd i /etc/inetd.conf (allt p en rad):


       smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd




  Om du anvnder en gammal icke-SYSV-init distribution som RedHat, lgg
  bara till fljande i dina boot-skript:


       sh -cf '/var/qmail/rc &'



  Vanligtvis i /etc/rc.local men inte helt skert.

  Fr en verkligt SYSV-init kompatibel distribution (RedHat, Caldera,
  Suse, Debian), lgg till fljande skript i /etc/init.d/

  DEBIAN version:



       #!/bin/sh

       test -x /var/qmail/rc || exit 0

       case "$1" in
         start)
            echo -n "Starting mta: "
            sh -cf '/var/qmail/rc &'
            echo "qmail."
            ;;
         stop)
            echo -n "Stopping mta: "
            killall qmail-lspawn
            echo "qmail."
            ;;
         restart)
            echo -n "Restarting mta: "
            killall -HUP qmail-lspawn
            killall -ALRM qmail-lspawn
            echo "qmail."
            ;;
         *)
            echo "Usage: /etc/init.d/qmail {start|stop|restart}"
            exit 1
       esac

       exit 0




  REDHAT version :

























  #!/bin/sh
  #
  # qmail      This shell script takes care of starting and stopping qmail.
  #
  # description: qmail is a Mail Transport Agent, which is the program \
  #              that moves mail from one machine to another.
  # processname: qmail
  # config: /var/qmail/control/

  # Source function library.
  . /etc/rc.d/init.d/functions

  # Source networking configuration.
  . /etc/sysconfig/network

  export PATH=$PATH:/var/qmail/bin

  # Check that networking is up.
  [ ${NETWORKING} = "no" ] && exit 0

  [ -f /usr/sbin/sendmail ] || exit 0

  # See how we were called.
  case "$1" in
    start)
          # Start daemons.
          echo -n "Starting qmail: "
          qmail-start '|preline procmail' splogger qmail &
          touch /var/lock/subsys/qmail
          echo
          ;;
    stop)
          # Stop daemons.
          echo -n "Shutting down 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




  Gr sedan symboliska lnkar till varje /etc/rcN.d/, till exempel:


       ln -sf /etc/init.d/qmail /etc/rc1.d/K19qmail




  Om den frsta bokstaven r K, s kommer qmail att ddas i denna
  runleveln (1 fr "single mode" eller 6 fr "boot"), men om den frsta
  bokstaven r S s kommer qmail att startas i denna runleveln (alla
  andra runlevels).


    Hur man vet om det skall vara ett K eller ett S?  Gr vad
     majoriteten av daemonerna i denna runleveln gr!

    Vilken siffra skall jag skriva efter K eller S?  Siffran som str
     vid ntverks-daemonen!

  RedHat, Caldera och Suse anvnder /etc/rc.d/ istllet fr bara /etc/
  som Debian, dvs /etc/rc.d/rc1.d/ eller /etc/rc.d/init.d/ till exempel.


  4.7.  Det var allt !


  Du behver inte starta om (kom ihg, du kr linux, inte ngot annat
  billigt OS !) fr att ndringarna skall bli gllande, kr bara:



       killall inetd
       init 1




  Fr att g till 'single user'-lge, sedan:


       init 2




  fr att g tillbaka till din standard-runlevel (som str specificerad
  i /etc/inittab med texten "initdefault").

  Du kan ven starta qmail-skriptet fr hand, men om du gr som ovan s
  mrker du om skriptet r bra placerat, dvs det krs efter ntverks-
  skripten men innan eventuella program som beror av e-post (som inn).


  5.  Smail v3.1


  Smail 3.1 verkar vara en de-facto standard nr det gller e-post
  programvara fr uucp-sajter och fr vissa smtp-sajter. Det r ltt att
  konfigurera, det kompilerar frn kllkoden utan patchar och det r
  hyfsat skert.


  5.1.  Att konfigurera smail


  Installera binrfilerna fr smail frn din distribution (jag
  rekommenderar detta) eller hmta kllkoden fr smail och kompilera
  den. Om du kompilerar smail frn kllkod s mste du ha fljande i din
  os/linux fil s att 'sed' ger dig shell-skript som fungerar
  ordentligt.


  CASE_NO_NEWLINES=true



  Nr det vl r installerat s brukar konfigurationsfilerna lggas i
  /etc/smail/, s lt oss brja editera dem.


  5.2.  Filen config




       # From
       smart_path=polux
       smart_transport=uux

       # To
       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.fr




  Okej, frst, vem frser dig? Jag frses av "polux" via uucp (dvs uux
  transport). Du mste naturligtvis ndra denna fil s att den speglar
  din egen situation. Till exempel s skulle du kunna frses av
  "bargw.bar.foobar.com" via "smtp", i sdana fall behver du ingen
  transports-fil och kan definiera "-transport_file" fr att indikera
  att du inte behver ngon.

  Du kan ven anvnda 'postmaster_address = dittnamn', dlja
  ntverkstopologin i utgende adresser (om du r en gateway) genom att
  anvnda 'visible_name', specificera vilka alias som ocks kan anvndas
  fr e-post som du tar emot, genom att anvnda 'more_hostnames'.

  Se smail dokumentationen fr mer detaljer eller dokumentationen i
  /usr/doc/smail/examples/ fr att se om ngot passar din situation.


  5.3.  Filen directors






















  # aliasinclude - expand ":include:filename" addresses produced by alias files
  # This entry and the next one are pretty much boiler-plate.  Reasons
  # for making significant changes are few.  The sole purpose of these
  # is to match and expand addresses of the form:
  #       :include:pathname
  # which may occur in alias files or mailing-list/forward files
  # (produced by any director with a driver of forwardfile).
  aliasinclude:
          driver = aliasinclude,          # use this special-case driver
          nobody;                         # associate nobody user with addresses
                                          #  when mild permission violations
                                          #  are encountered
          copysecure,                     # get permissions from alias director
          copyowners,                     # get owners from alias director



  # forwardinclude - expand ":include:filename" addrs produced by forward files
  forwardinclude:
          driver = forwardinclude,        # use this special-case driver
          nobody;
          copysecure,                     # get perms from forwarding director
          copyowners,                     # get owners from forwarding director


  # aliases - search for alias expansions stored in a database
  # This is the standard aliases file.  It is used for generic things,
  # like mapping root, postmaster, MAILER-DAEMON and uucp to site
  # admins, creating some small system alias expansions, and such.  In
  # this site configuration, the aliases file is used mostly for
  # machine-specific aliasing/forwarding information.  Global forwarding
  # information should be put in the "forward" database.
  aliases:
          driver=aliasfile,               # general-purpose aliasing director
          -nobody,                        # all addresses are associated
                                          # with nobody by default, so setting
                                          # this is not useful.
          sender_okay,                    # don't remove sender from expansions
          owner=owner-$user;              # problems go to an owner address
          file=/etc/aliases,
          modemask=002,                   # should not be globally writable
          optional,                       # ignore if file does not exist
          proto=lsearch,                  # unsorted ASCII file


  # forward - search for expansions stored in a forwarding database
  # This is the subdomain-wide user forwarding database.  Entries are
  # maintained here for current or past users, to forward their mail to
  # their preferred mail-reading machine.  The forward database is
  # shipped around the TCP/IP network as changes are made, to keep the
  # network consistent.
  #forward:
  #       driver = aliasfile,             # general-purpose aliasing director
  #       -nobody,                        # all addresses are associated
  #                                       # with nobody by default, so setting
  #                                       # this is not useful.
  #       owner = real-$user;             # problems go to an owner address
  #
  #       file = /etc/forward,
  #       modemask = 002,
  #       proto = dbm,                    # use dbm(3X) library for access


  # dotforward - expand .forward files in user home directories
  # For users that have an entry in the "forward" database, a ".forward"
  # file is only used if it is on the "home" machine, as identified in
  # the forward database.  If used, it is treated as a list of addresses
  # to which mail should be delivered, rather than (or in addition to)
  # the user identified in the local address.
  dotforward:
          driver = forwardfile,           # general-purpose forwarding director
          owner = postmaster, nobody, sender_okay;

          file = ~/.forward,              # .forward file in home directories
          checkowner,                     # the user can own this file
          owners = root,                  # or root can own the file
          modemask = 002,                 # it should not be globally writable
          caution = daemon:root,          # don't run things as root or daemon
          # be extra carefull of remotely accessible home directories
          unsecure = "~uucp:/tmp:/usr/tmp:/var/tmp"


  # forwardto - expand a "Forward to " in user mailbox files
  # This emulates the V6/V7/System-V forwarding mechanism which uses a
  # line of forward addresses stored at the beginning of user mailbox files
  # prefixed with the string "Forward to "
  forwardto:
          driver = forwardfile,
          owner = postmaster, nobody, sender_okay;

          file = /var/spool/mail/${lc:user},      # point at user mailbox files
          forwardto,                      # enable "Forward to " function
          checkowner,                     # the user can own this file
          owners = root,                  # or root can own the file
          modemask = 0002,                # under System V, group mail can write
          caution = daemon:root           # don't run things as root or daemon


  # user - match users on the local host with delivery to their mailboxes
  user:   driver = user;                  # driver to match usernames
          transport = local               # local transport goes to mailboxes


  # real_user - match usernames when prefixed with the string "real-"
  # This is useful for allowing an address which explicitly delivers to a
  # user's mailbox file.  For example, errors in a .forward file expansion
  # could be delivered here, or forwarding loops between multiple machines
  # can be resolved by using a real-username address.  Also, users that
  # wish to use mail as a means of transferring data to a machine that
  # is not their "home" machine can mail to real-login-name@remote.host.
  real_user:
          driver = user;
          transport = local,
          prefix = "real-"            # for example, match real-root


  # lists - expand mailing lists stored in a list directory
  # mailing lists can be created simply by creating a file in the
  # /etc/smail/lists directory.
  lists:  driver = forwardfile,
          caution,                        # flag all addresses with caution
          nobody,                         # and then associate the nobody user
          owner = owner-$user;            # system V sites may wish to use
                                          # o-$user, as owner-$user may be
                                          # too long for a 14-char filename.
          file = lists/${lc:user}         # lists is under $smail_lib_dir


  # owners - expand mailing lists stored in a list owner directory
  # mailing lists owner lists can be created simply by creating a file
  # in the /etc/smail/lists/owner directory.  Mailing list owners
  # are sent locally generated errors dealing with a mailing list of the
  # same name.  To create an owner list for a mailing list, create a
  # file with the name of the list in /etc/smail/lists/owner.  This
  # will create a list address of owner-listname, as is used by the
  # "lists" director above.
  owners: driver = forwardfile,
          caution,                        # flag all addresses with caution
          nobody,                         # and then associate the nobody user
          owner = postmaster;             # system V sites may wish to use
                                          # o-$user, as owner-$user may be
                                          # too long for a 14-char filename.
          prefix = "owner-",
          file = lists/owner/${lc:user}   # lists is under $smail_lib_dir


  # request - expand mailing lists stored in a list request directory
  # mailing lists request lists can be created simply by creating a file
  # in the /etc/smail/lists/request directory.  Request addresses
  # are typically used as a standard address for queries about a mailing
  # list.  For example, requests for additions or deletions to a list
  # will generally be sent to "list-request", which should be set up to
  # forward to the appropriate person or persons.
  request: driver = forwardfile,
          caution,                        # flag all addresses with caution
          nobody,                         # and then associate the nobody user
          owner = postmaster;             # system V sites may wish to use
                                          # o-$user, as owner-$user may be
                                          # too long for a 14-char filename.
          suffix = "-request",
          file = lists/request/${lc:user} # lists is under $smail_lib_dir




  Du br inte behva ndra ngot hr, bara alternativ fr e-post-listor
  om du tnker kra ngra med smail.  Eller alternativ fr
  vidareskickning (forwarding) om du till exempel vill inaktivera
  vidareskickning.


  5.4.  Filen 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




  Skapa endast denna filen om du anvnder ifmail och FIDO.


  5.5.  Filen routers










  # forces - force certain paths
  # This database exists as a means of hardcoding the paths to various
  # machines or domains.  It is for use in creating temporary tweaks to
  # the other routint databases.  To change the database, edit the file
  # maps/force.path and type "make" in the maps/ subdirectory.
  forces:
          driver = pathalias,             # router to search paths file
          method = /etc/smail/maps/table; # transports are in this file
          file = forcepaths,              # file containing force path info
          proto = lsearch,                # use the sorted path file
          optional,
          reopen                          # close when not being used


  uucp_neighbors:
          driver=uuname,                  # use a program which returns neighbors
          transport=uux;
          cmd="/usr/bin/uuname -a",       # specifically, use the uuname program
  #        domain=uucp                    # strip ending ".uucp"


  # smart_host - a partically specified smarthost director
  # If the config file attribute smart_path is defined as a path from the
  # local host to a remote host, then hostnames not matched otherwise will
  # be sent off to the stated remote host.  The config file attribute
  # smart_transport can be used to specify a different transport.
  # If the smart_path attribute is not defined, this router is ignored.
  smart_host:
          driver = smarthost,             # special-case driver
          transport = uux                 # by default deliver over UUCP
  #       path=phreak


  # ifmail - to send mails to fidonet and vice versa
  ifmail:
          driver=pathalias,
          transport=ifmail;
          file=fidopaths,
          proto=lsearch




  Du skall endast inkludera ifmail-delen om du anvnder ifmail fr FIDO
  post. Notera att du ven kan byta transportlge frn 'uux' (dvs UUCP)
  till, exempelvis, 'smtp' eller till och med 'hrdkoda vgarna till
  vissa maskiner eller domner' i /etc/smail/maps/table.

  Detta kan vara anvndbart om du vill att utgende e-post som r mnat
  fr ditt lokala ntverk skall skickas ut med en gng, eftersom det
  inte behver routas till din uucp anslutning med Internet access.


  5.6.  Filen transports












  # local - deliver mail to local users
  # Tell smail to append directly to user mailbox files in the /var/spool/mail
  # directory.
  #local: driver = appendfile,            # append message to a file
  #       -return_path,                   # include a Return-Path: field
  #       local,                          # use local forms for delivery
  #       from,                           # supply a From_ envelope line
  #       unix_from_hack;                 # insert > before From in body
  #
  #       file = /var/spool/mail/${lc:user},      # use this location for Linux
  #                                               # Note, mail spool must be 1777
  #       file = ~/mailfile,              # use this location for better security
  #       group = mail,                   # group to own file for System V
  #       mode = 0660,                    # under System V, group mail can access
  #       suffix = "\n",                     # append an extra newline
  #       append_as_user,


  # This allows each user to have a ~/.procmailrc file to control filtering
  # of mail and saving mail from mail lists in separate mailboxes if they wish.
  local:  +inet,
          -uucp,
          driver = pipe,                  # append message to a file
          return_path,                    # include a Return-Path: field
          local,                          # use local forms for delivery
          from,                           # supply a From_ envelope line
          unix_from_hack;                 # insert > before From in body

          cmd = "/usr/bin/procmail",  # use procmail for local delivery
          parent_env,                     # environment info from parent addr
          pipe_as_user,                   # use user-id associated with address
          umask = 0022,                   # umask for child process
  #       -ignore_status,                 # exit status should be believed
  #       -ignore_write_errors,           # retry on broken pipes


  # pipe - deliver mail to shell commands
  # This is used implicitly when smail encounters addresses which begin with
  # a vertical bar character, such as "|/usr/lib/news/recnews talk.bizarre".
  # The vertical bar is removed from the address before being given to the
  # transport.
  #pipe:  driver = pipe,                  # pipe message to another program
  #       return_path, local, from, unix_from_hack;
  #
  #       cmd = "/bin/sh -c $user",   # send address to the Bourne Shell
  #       parent_env,                     # environment info from parent addr
  #       pipe_as_user,                   # use user-id associated with address
  #       umask = 0022,                   # umask for child process
  #       -log_output,                    # do not log stdout/stderr
  #       ignore_status,                  # exit status may be bogus, ignore it
  #       ignore_write_errors,            # ignore broken pipes


  # file - deliver mail to files
  # This is used implicitly when smail encounters addresses which begin with
  # a slash or squiggle character, such as "/usr/info/list_messages" or
  # perhaps "~/Mail/inbox".
  #file:  driver = appendfile,
  #       return_path, local, from, unix_from_hack;
  #
  #       file = $user,                   # file is taken from address
  #       append_as_user,                 # use user-id associated with address
  #       expand_user,                    # expand ~ and $ within address
  #       check_path,
  #       suffix = "\n",
  #       mode = 0644
  # uux - deliver to the rmail program on a remote UUCP site
  #
  # As many as five recipient addresses will be delivered to the remote
  # host in one UUCP transaction.
  uux:    driver = pipe,
          -uucp,
          inet,
  #       uucp,                           # use UUCP-style addressing forms
          from,                           # supply a From_ envelope line
          max_addrs = 5,                  # at most 5 addresses per invocation
          max_chars = 200;                # at most 200 chars of addresses
  # the -r flag prevents immediate delivery, parentheses around the
  # $user variable prevent special interpretation by uux.
          cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
  #        cmd="/usr/bin/uux - $host!rmail $(($user)$)",
          ignore_write_errors,            # ignore broken pipes
          umask = 0022,
  #       pipe_as_sender,


  # uux_one_addr - deliver mail over UUCP to a remote host that can take
  #                one address at a time.
  # This is often necessary when delivering to a site running an unmodified
  # version of 4.1BSD.
  uux_one_addr:
          driver = pipe,
          uucp,                           # use UUCP-style addressing forms
          from;                           # supply a From_ envelope line
  # the -r flag prevents immediate delivery
          cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
          umask = 0022,
          pipe_as_sender


  queueonly:
          driver = pipe;                  # send the message to a pipe
          cmd = "/usr/lib/sendmail -Q -f $sender -bm $user",
                                          # use getmail for local delivery
          user=root,                      # execute getmail as "root"
          group=mail,                     # execute getmail as "mail"
          parent_env,                     # environment info from parent addr
          -pipe_as_user,                  # use user-id associated with address
          umask = 0007,                   # umask for child process

  # to deliver the message.  The smtp transport is included only if BSD
  # networking exists.
  # The uucp attribute can be specified for transfers within the UUCP
  # zone.  The inet attribute must be specified for transfers within the
  # Internet.
  # NOTE: This is hardly optimal, a backend should exist which can handle
  #       multiple messages per connection.
  # ALSO: It may be necessary to restrict max_addrs to 100, as this is the
  #       lower limit SMTP requires an implementation to handle for one
  #       message.
  smtp:   driver=tcpsmtp,
          inet,                           # if UUCP_ZONE is not defined
  #       uucp,                           # if UUCP_ZONE is defined
          -max_addrs, -max_chars;         # no limit on number of addresses

          short_timeout=5m,               # timeout for short operations
          long_timeout=2h,                # timeout for longer SMTP operations
          service=smtp,                   # connect to this service port
  # For internet use: uncomment the below 4 lines
         use_bind,                       # resolve MX and multiple A records
         defnames,                       # use standard domain searching
         defer_no_connect,               # try again if the nameserver is down
         local_mx_okay,                  # fail an MX to the local host


  ifmail:
          from,received,max_addrs=5,max_chars=200,
          driver=pipe;
          pipe_as_sender,
          cmd="/usr/local/bin/ifmail -x9 -r$host $((${strip:user})$)"




  Du skall endast inkludera ifmail-delen om du anvnder ifmail fr FIDO
  post. Frutom det skall du inte behva ndra ngonting i denna filen,
  vilken definierar transport-agenter (typ uux, smtp ...) som du kan
  anvnda som parametrar i andra konfigurationsfiler.

  Notera att jag har kommenterat bort vissa delar, som 'pipes' eller
  'file', fr att ka skerheten.


  5.7.  Katalogen maps/


  Den innehller filerna map och table:

  Frst filen 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




  terigen s skall du ndra denna fil s att den speglar din situation
  (Jag frses av polux.linux.eu.org).

  Nu filen table





       *       uux





  Du kan definiera olika transportstt till olika vgar, till exempel
  'smtp' fr maskinerna i ditt lokala ntverk, 'uux' (dvs uucp) fr
  resten av vrlden eller vice-versa (Jag anvnder uucp fr all utgende
  e-post, drfr har jag '*').


  5.8.  Andra bra exempel


  De frra filerna r de jag fr nrvarande anvnder fr min sajt, du
  br inte stta p ngra problem med att anvnda dem som grund fr dina
  egna filer.

  Fljande filer har jag med fr att visa andra bra exempel p hur man
  kan konfigurera smail p ett annat stt.



















































  #ident "@(#) transports,v 1.2 1990/10/24 05:20:46 tron Exp"

  # See smail(5) for a complete description of the contents of this file.

  # local - deliver mail to local users
  #
  # Tell smail to append directly to user mailbox files in the /usr/mail
  # directory.
  local:  driver = appendfile,            # append message to a file
          return_path,                    # include a Return-Path: field
          local,                          # use local forms for delivery
          from,                           # supply a From_ envelope line
          unix_from_hack;                 # insert > before From in body

          file = /usr/mail/${lc:user},    # use this location for System V
          group = mail,                   # group to own file for System V
          mode = 0660,                    # under System V, group mail can access
          suffix = "\n",                     # append an extra newline
          append_as_user,

  # pipe - deliver mail to shell commands
  #
  # This is used implicitly when smail encounters addresses which begin with
  # a vertical bar character, such as "|/usr/lib/news/recnews talk.bizarre".
  # The vertical bar is removed from the address before being given to the
  # transport.
  pipe:   driver = pipe,                  # pipe message to another program
          return_path, local, from, unix_from_hack;

          cmd = "/bin/sh -c $user",   # send address to the Bourne Shell
          parent_env,                     # environment info from parent addr
          pipe_as_user,                   # use user-id associated with address
          umask = 0022,                   # umask for child process
          -log_output,                    # do not log stdout/stderr
          ignore_status,                  # exit status may be bogus, ignore it
          ignore_write_errors,            # ignore broken pipes

  # file - deliver mail to files
  #
  # This is used implicitly when smail encounters addresses which begin with a
  # slash or squiggle character, such as "/usr/info/list_messages" or perhaps
  # "~/Mail/inbox".
  file:   driver = appendfile,
          return_path, local, from, unix_from_hack;

          file = $user,                   # file is taken from address
          append_as_user,                 # use user-id associated with address
          expand_user,                    # expand ~ and $ within address
          suffix = "\n",
          mode = 0644

  # uux - deliver to the rmail program on a remote UUCP site
  #
  # As many as five recipient addresses will be delivered to the remote host in
  # one UUCP transaction.
  uux:    driver = pipe,
          uucp,                           # use UUCP-style addressing forms
          from,                           # supply a From_ envelope line
          max_addrs = 5,                  # at most 5 addresses per invocation
          max_chars = 200;                # at most 200 chars of addresses

          # the -r flag prevents immediate delivery, parentheses around the
          # $user variable prevent special interpretation by uux.
          cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
          umask = 0022,
          pipe_as_sender
  # uux_one_addr - deliver mail over UUCP to a remote host that can take one
  # address at a time.
  #
  # This is often necessary when delivering to a site running an unmodified
  # version of 4.1BSD.
  uux_one_addr:
          driver = pipe,
          uucp,                           # use UUCP-style addressing forms
          from;                           # supply a From_ envelope line

          # the -r flag prevents immediate delivery
          cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
          umask = 0022, pipe_as_sender

  # demand - deliver to a remote rmail program, polling on demand
  demand: driver = pipe,
          uucp, from, max_addrs = 5, max_chars = 200;

          # with no -r flag, try to contact remote site immediately
          cmd = "/usr/bin/uux - -g$grade $host!rmail $(($user)$)",
          umask = 0022, pipe_as_sender

  # uusmtp - deliver to the rsmtp program on a remote UUCP site
  #
  # Deliver using a simple Batched SMTP protocol to the remote machine.
  # This allows much more arbitrary addresses to be used.  It also
  # removes the limit on recipient addresses per invocation of uux.
  uusmtp: driver = pipe,
          bsmtp,                          # send batched SMTP commands
          -max_addrs,                     # there is no limit on the number or
          -max_chars;                     #   total size of recipient addresses.

          # supply -r to prevent immedate delivery, the recipient addresses
          # are stored in the data sent to the standard input of rsmtp.
          cmd = "/usr/bin/uux - -r -g$grade $host!rsmtp",
          umask = 0022, pipe_as_sender

  # demand_uusmtp - deliver to a remote rsmtp program, polling on demand
  demand_uusmtp:
          driver = pipe,
          bsmtp, -max_addrs, -max_chars;

          # with no -r flag, try to contact remote site immediately
          cmd = "/usr/bin/uux - -g$grade $host!rsmtp",
          umask = 0022, pipe_as_sender

  # smtp - deliver using SMTP over TCP/IP
  #
  # Connect to a remote host using TCP/IP and initiate an SMTP conversation to
  # deliver the message.  The smtp transport is included only if BSD networking
  # exists.

  # NOTE: It may be necessary to restrict max_addrs to 100, as this is the
  #       lower limit SMTP requires an implementation to handle for one
  #       message.
  smtp:   driver = smtp,
          -max_addrs,
          -max_chars








  #ident "@(#) table,v 1.2 1990/10/24 05:20:31 tron Exp"

  # This file names the transports that are to be used in delivering
  # to specific hosts from bargw.

  #host           transport
  #--------       ---------
  curdsgw         demand_uusmtp   # deliver using batched SMTP
  oldbsd          uux_one_addr    # 4.1BSD sites cannot take more than one addr
  sun             demand          # call sun when their is mail to send
  *               uux             # for all others, poll at intervals





  5.9.  Starta om inetd


  Fr att kra smail som en smtp daemon, lgg till en av fljande rader
  i /etc/inetd.conf:

           smtp stream tcp nowait  root  /usr/bin/smtpd smtpd

  eller:

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




  Utgende e-post skickas automatiskt, om man anvnder elm.


  5.10.  Smail med smtp


  Vanligtvis s anvnder internetleverantrer smtp, drfr skall du inte
  ha ngra problem med att skicka din e-post. Om din Internet-koppling
  r nere nr du skickar e-post, s sparas den i
  /var/spool/smail/input/. Nr kopplingen kommer upp s krs runq som
  gr att e-posten skickas ivg. Men problemet r att ta emot e-post
  eftersom din leverantr har mnga kunder att se efter, inte bara dig.

  Vanligtvis kan du hmta din e-post via POP-protokollet, se POP-
  avsnittet nedan.


  6.  GAMMALT AVSNITT: Sendmail+IDA


  Fr stora sajter kan det vara vrt att vlja sendmail p grund av det
  r "otroligt lttanvnt" (vldigt relativ knsla nr man knner till
  qmail) men du mste avgra om du vill ha sendmail+IDA eller sendmail
  8.x:


    Om du anvnder en gammal krna (1.0): sendmail+IDA

    Om du anvnder en inte s gammal krna (1.2): sendmail+IDA och
     modifiering av kllkod

    Nyare krna (2.0): sendmail 8.x

  Kom ihg: linuxnybrjare eller personer som vill ha skerhet och/eller
  ltt konfiguration br istllet anvnda smail eller qmail, vilka r
  lttare att anvnda och skrare.


  6.1.  Installation av kllkod


  Om din distribution inte innehller ett installeringsfrdigt paket med
  sendmail (.rpm fr RedHat, Caldera och Suse, .deb fr Debian) s ladda
  hem kllkoden och kr:


    cd / ; tar -zxvf sendmail5.67b+IDA1.5.tgz


    byt till katalogen /usr/local/lib/mail/CF och kopiera exempelfilen
     local.m4 till ditt_datornamn.m4.

  Editera denna fil och byt ut hostname, aliases och smarthost mot de
  som r korrekta fr din sajt. Standardfilen r fr en endast-uucp sajt
  som har domniserade huvuden och som 'pratar' med en smart vrd.  Kr
  sedan make ditt_datornamn.cf och flytta resultatet till
  /etc/sendmail.cf


    Om du har en endast-uucp sajt s behver du inte skapa ngon av de
     tabeller som nmns i filen README.linux.

  Du kommer att behva ndra lite grann i filerna s att Makefile
  fungerar. ndra bara i .m4 filen, kr make sendmail.cf och brja testa
  det.


    Om du har en endast-uucp sajt och du 'pratar' med sajter utver din
     smarthost, s mste du lgga till uucpxtable-poster fr var och en
     av dem (annars kommer e-post till dem ocks att g via smarthost)
     och kra dbm mot den ndrade uucpxtable.


    Om du kr Rich Brauns orginaldistribution av 5.67a, och om du
     ndrar din .cf-fil s mste du frysa konfigurationen med
     /usr/lib/sendmail -bz fr att ndringarna skall ha ngon effekt.

  Du br ocks updatera din version till tminstonde 5.67b eftersom det
  finns ett elakt skerhetshl i 5.67a och tidigare. En annan bra sak r
  att, om du har mail.debug satt och du kr syslogd, s kommer dina
  inkommande och utgende e-postmeddelanden att loggas. Se filen
  /etc/syslog.conf fr mer information.

  Kllkoden fr sendmail+IDA finns p ftp://vixen.cso.uiuc.edu.  Det
  krvs inga patchar om du kr en krna som 1.00.

  Om du kr en krna >1.1.50, s kommer du att f skoj med att ta bort
  de flesta Linux-specifika patchar som nu finns i vanilla kllkoden.
  (Jag *sade* ju att sendmail+IDA bara var fr gamla krnor :-)

  Det r extremt sjlvklart var detta behvs: kr bara make och nr det
  blir fel, g till den raden i kllkoden och kommentera bort den Linux-
  specifika koden som finns dr.

  Om du skall kra sendmail+IDA s rekommenderar jag starkt att du tar
  versionen sendmail5.67b+IDA1.5 eftersom alla ndvndiga Linux-
  specifika patchar nu finns i vanilla kllkoden och flera
  skerhetslckor som FANNS i de gamla versionerna har tppts till.

  Nu r linux krnan p 2.0 och du br vlja sendmail 8.x istllet fr
  sendmail+IDA.
  6.2.  Filen sendmail.m4


  Sendmail+IDA krver att du stter upp en sendmail.m4 fil istllet fr
  att ndra direkt i filen sendmail.cf. Det fina med detta r att det r
  enkelt att stta upp konfigurationer som r extremt svra (om inte
  totalt omjliga fr de flesta) att stta upp korrekt i smail eller
  traditionell sendmail.

  En sendmail.m4 fil som motsvarar ovanstende exempel med smail ser ut
  som fljer:


    dnl #------------------ SAMPLE SENDMAIL.M4 FILE ------------------
    dnl #
    dnl # (the string 'dnl' is the m4 equivalent of commenting out a line)
    dnl #
    dnl # you generally don't want to override LIBDIR from the compiled in paths
    dnl #define(LIBDIR,/usr/local/lib/mail)dnl    # where all support files go
    define(LOCAL_MAILER_DEF, mailers.linux)dnl    # mailer for local delivery
    define(POSTMASTERBOUNCE)dnl                   # postmaster gets bounces
    define(PSEUDODOMAINS, BITNET UUCP)dnl         # don't try DNS on these
    dnl #
    dnl #-------------------------------------------------------------
    dnl #
    dnl # names we're known by
    define(PSEUDONYMS, myhostname.subdomain.domain myhostname.UUCP)
    dnl #
    dnl # our primary name
    define(HOSTNAME, myhostname.subdomain.domain)
    dnl #
    dnl # our uucp name
    define(UUCPNAME, myhostname)dnl
    dnl #
    dnl #-------------------------------------------------------------
    dnl #
    define(UUCPNODES, |uuname|sort|uniq)dnl       # our uucp neighbors
    define(BANGIMPLIESUUCP)dnl                    # make certain that uucp
    define(BANGONLYUUCP)dnl                       #  mail is treated correctly
    define(RELAY_HOST, my_uucp_neighbor)dnl       # our smart relay host
    define(RELAY_MAILER, UUCP-A)dnl               # we reach moria via uucp
    dnl #
    dnl #--------------------------------------------------------------------
    dnl #
    dnl # the various dbm lookup tables
    dnl #
    define(ALIASES, LIBDIR/aliases)dnl            # system aliases
    define(DOMAINTABLE, LIBDIR/domaintable)dnl    # domainize hosts
    define(PATHTABLE, LIBDIR/pathtable)dnl        # paths database
    define(GENERICFROM, LIBDIR/generics)dnl       # generic from addresses
    define(MAILERTABLE, LIBDIR/mailertable)dnl    # mailers per host or domain
    define(UUCPXTABLE, LIBDIR/uucpxtable)dnl      # paths to hosts we feed
    define(UUCPRELAYS, LIBDIR/uucprelays)dnl      # short-circuit paths
    dnl #
    dnl #--------------------------------------------------------------------
    dnl #
    dnl # include the 'real' code that makes it all work
    dnl # (provided with the source code)
    dnl #
    include(Sendmail.mc)dnl                         # REQUIRED ENTRY !!!
    dnl #
    dnl #------------ END OF SAMPLE SENDMAIL.M4 FILE -------




  6.3.  Att definiera en lokal e-postutdelare


  Till skillnad frn de flesta Unixdistributioner, s har inte Linux en
  lokal e-postutdelare som standard. Men deliver eller procmail r
  vanligtvis installerat, s ingen komplexitet kommer att lggas till
  denna redan komlexa konfiguration. Jag rekommenderar att anvnda de
  vanligt frekommande deliver eller procmail programmen, som kan vara
  valbara paket i en Linuxdistribution.

  Fr att gra detta s mste du definiera en LOCAL_MAILER_DEF i filen
  sendmail.m4 som pekar p en fil som ser ut som fljer:


    # -- /usr/local/lib/mail/mailers.linux --
    #     (local mailers for use on 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



  Det finns ven inbyggt standard fr deliver i filen Sendmail.mc som
  inkluderas i filen sendmail.cf. Fr att anvnda det s skall du inte
  anvnda filen mailers.linux utan istllet definiera fljande i din
  sendmail.m4:


     dnl --- (in sendmail.m4) ---
     define(LOCAL_MAILER_DEF, DELIVER)dnl       # mailer for local delivery



  Tyvrr s frutstter Sendmail.mc att deliver r installerat i /bin,
  vilket inte r fallet med Slackware 1.1.1 (som installerar det i
  /usr/bin). I s fall mste du antingen gra en symbolisk lnk eller
  kompilera om deliver frn kllkoden s att det hamnar i /bin. Notera
  att procmail generellt r bttre n deliver, till exempel fr
  filtrering av e-post.


  6.4.  Sendmail+IDA dbm tabeller


  Att stta upp speciellt upptrdande fr sajter eller domner grs
  genom ett antal dbm tabeller istllet fr att ndra direkt i filen
  sendmail.cf.

  Se Julinumret 1994 av Linux Journal (om du fortfarande kan hitta det
  :-), dokumentationen i kllkoden eller i sendmail kapitlet i
  Networking Administration Guide fr mer detaljer.


    mailertable   - definierar speciellt upptrdande fr andra datorer
     eller domner.

    uucpxtable    - tvingar UUCP utdelning av e-post till datorer som
     r i DNS format.

    pathtable     - definierar UUCP 'bang-paths' till andra datorer
     eller domner.

    uucprelays    - kortsluter 'pathalias' vgen till vlknda datorer.

    genericfrom   - konverterar interna adresser till generella som kan
     ses frn utsidan.

    xaliases      - konverterar generella adresser till/frn giltiga
     interna adresser.

    decnetxtable  - konverterar RFC-822 adresser till DECnet adresser.


  6.5.  S vilka poster krvs?


  Nr man inte anvnder ngon av de valbara dbm tabellerna s skickar
  sendmail e-post via RELAY_HOST och RELAY_MAILER som r definierade i
  filen sendmail.m4 som anvnds fr att generera sendmail.cf.  Det r
  ltt att g frbi det genom poster i domaintable eller uucpxtable.

  En generell sajt som finns p Internet och frstr DNS, eller en som
  r endast-uucp och vidarebefodrar all e-post via UUCP genom en smart
  RELAY_HOST, behver antagligen inte specificera ngra tabellposter
  alls.

  I stort sett alla system br stta makrona DEFAULT_HOST och
  PSEUDONYMS, vilka definierar det kanoniska namnet p sajten och alias
  som den r knd som.

  Om allt du har r en vidarebefodringsdator och
  vidarebefodringsutdelare s behver du inte stta dessa standardvrden
  eftersom det fungerar automagiskt. UUCP-datorer behver antagligen
  ocks stta UUCPNAME till dess officiella uucp-namn.

  De behver ocks stta RELAY_MAILER och RELAY_HOST vilket stter p
  'smarthost' routing genom en vidarebefodrande e-post utdelare.

  Transportprotokollet som skall anvndas definieras i RELAY_MAILER och
  skall vanligtvis vara UUCP-A fr UUCP-sajter. Om din sajt r endast-
  smtp och frstr DNS s skall du ndra RELAY_MAILER.

  Om du har en SLIP-sajt s kan du gra p det enkla sttet och bara
  vidarebefodra all utgende e-post till din leverantr som sedan kan
  hantera den. Fr att gra s s skall du definiera ISOLATED_DOMAINS
  och VALIDATION_DOMAINS till din domn. Du skall ven definiera
  RELAY_HOST till att vara din leverantr och RELAY_MAILER till att vara
  TCP. Sjlvklart skall du frga om lov innan du stller in ett annat
  system till att vara din RELAY_HOST.


  6.6.  Sendmail 8.x


  Sendmail 8.7.x frn Berkeley var den senaste stora revisionen efter
  sendmail5. Den hade underbart inbyggt std fr linux: bara make linux
  och allt var klart.

  Du klarar dig antagligen bst genom att ta en av de olika
  binrdistributionerna frn ngot av Linuxarkiven istllet fr att
  kmpa med saker som Berkeley dbm sjlv.

  Det finns en bra distribution av sendmail 8.6.12 frn Jason Haar
  (j.haar at lazerjem.demon.co.uk) p sunsite.unc.edu i
  /pub/Linux/system/Mail/delivery/sendmail-8.6.12-bin.tgz som innehller
  dokumentationen frn kllkoden och en vldigt trevlig snabbeskrivning
  av hur man kr sendmail v8 fr vanliga konfigurationer.

  Med sendmail v8 vill man konfigurera s lite som mjligt fr att f
  jobbet gjort. Fljande r ett exempel som iallafall skall f dig p
  rtt vg.


  6.7.  Exempel p 8.7.x mc -fil


  Liksom sendmail+IDA s anvnder sendmail v8 m4 till att processa en
  konfigurationsfil till en sendmail.cf som anvnds av sendmail.
  Fljande r den mc-fil som jag anvnder fr nrvarande p min sajt
  (ppp till Internet fr utgende e-post, uucp fr inkommande e-post).


          dnl divert(-1)
          #---------------------------------------------------------------------
          #
          # this is the .mc file for a linux host that's set up as follows:
          #
          #       - connected to Internet for outbound mail (ppp here)
          #       - connected via UUCP for incoming mail
          #       - domainized headers
          #       - no local mailer (use 'deliver' instead)
          #       - no DNS running so don't canonicalize outgoing via DNS
          #       - all non-local outbound mail goes to the RELAY_HOST over smtp
          #           (we run ppp and let our service provider do the work)
          #
          #                                       vds 3/31/95
          #
          #---------------------------------------------------------------------
          include(`../m4/cf.m4')
          VERSIONID(`linux nodns relays to slip service provider smarthost')dnl
          Cwmyhostname.myprimary.domain myhostname.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:my.relay.host.domain)
          define(`SMART_HOST', smtp:my.relay.host.domain)
          define(`UUCP_RELAY', smtp:my.relay.host.domain)
          define(`LOCAL_MAILER_PATH', `/bin/deliver')
          define(`LOCAL_MAILER_ARGS', `deliver $u')




  6.8.  Sendmail v8 skillnader


  Det finns ngra skillnader. Hittills har jag hittat fljande:


  Istllet fr runq s skall man kra sendmail -q fr att kra e-
  postkn!



  6.9.  Lokala e-postutdelare


  Till skillnad frn de flesta operativsystem s hade Linux inte
  'inbyggd' e-post. Du var tvungen att ha ett program som kunde dela ut
  den lokala e-posten, till exempel lmail, procmail eller deliver.

  Men, alla nyare distributioner inkluderar en lokal utdelare nu.


  Dokumentation fr hur man anvnder de olika finns i binrversionen av
  sendmail5.67b+IDA1.5 (p sunsite) som nmns ovan.


  7.  POP e-post


  Detta avsnitt handlar ocks om IMAP som inte r helt olikt POP.


  7.1.  Historia


  P ett ntverk med arbetsstationer har e-post alltid varit ett
  problem:


    Antingen anvnder du anvndar-id@dator.foo.com med problem nr
     'dator' r nere, visar din ntverkstopologi fr personer p
     utsidan, har olika adresser fr samma person som byter till en
     annan dator,...

    Eller s anvnder du en e-post hubb, mailhost.foo.com med regler
     fr att omskrivning, s att alla anvndare ser ut att e-posta frn
     samma adress ven att de finns vid olika datorer.

  Men i det fallet, hur kan en anvndare lsa sin e-post?

  Anvnda en rsh med elm? :-)

  Det skulle verbelasta vran e-post hubb!  En metod var
  vidarebefodring med UUCP, smtp, osv. men det r fr komplicerat.

  Sedan kom POP/IMAP, bda med skerhetsproblem i brjan (som nu r
  fixade genom att anvnda ssh i nya versioner). E-postprogram mste
  ibland stllas in lokalt (som qmail, smail eller vmail om du tex
  anvnder elm, men mozilla undviker det !) men att hmta och skicka e-
  post r lttare.


  7.2.  Att hmta e-post


  Hr r POPs strsta nackdel: lsenordet skickas som klartext ver
  ntverket och vissa e-postlsare vet inte om POP. Du mste vlja en e-
  postlsare som vet om POP, som Pine, Emacs, Netscape, Mutt, ....

  Lsenordsproblemet kan lsas genom att skapa en krypterad 'kanal' som
  har POP, eller att anvnda APOP eller RPOP utkningar. E-
  postlsarproblemet kan lsas antingen genom att byta lsare (mozilla
  klarar POP, s ven Emacs och Pine) eller genom att anvnda en POP 'e-
  post hmtare' med ett lokalt e-post program.

  Hr r ngra POP-program som r vrda ett frsk:


    gwpop (a Good Way to POP) r vldigt skert eftersom det skapar en
     krypterad kanal och placerar e-posten direkt i 'spoolen'. Men det
     beror av Perl.

    popclient, ltt att anvnda:

     Till exempel om ditt anvndarnamn r 'john' och ditt lsenord r
     'GanskaHemligt' s skulle du kra:


  $ popclient -3 -v mail.acme.net -u john -p "GanskaHemligt" -k -o JOHN-INET-MAIL





    fetchmail, vilket stds aktivt och r otroligt ltt att anvnda.
     Det konfigureras i ~/.fetchmailrc och sedan behver du bara kra
     fetchmail nr du vill hmta din e-post.

     Hr r min ~/.fetchmailrc


       poll mail.server protocol pop3:
               forcecr
               password PrettySecret;





  Notera att 'forcecr' behvs fr att anvnda fetchmail med qmail som
  strikt fljer RFCs.


  Hr kommer ven versttarens ~/.fetchmailrc


       defaults proto pop3 no dns keep
                mda "/usr/sbin/sendmail -oem %s"

       # Hmta frn pop-server 1
       poll popserver.universitetet user anvndar-id is tomas password ganskaHemligt

       # Hmta frn pop-server 2
       poll popserver.isp user anvndar-id2 is tomas password mycketHemligt fetchall no keep




  Detta visar hur man kan hmta e-post frn flera POP servrar p en gng
  och dela ut den till rtt lokal anvndare ('user xx is yy' betyder att
  man hmtar xx's e-post frn pop-servern och delar ut den till yy p
  den lokala maskinen). Det som str under 'defaults' gller fr alla
  'poll'-rader.

  7.3.  Att skicka e-post


  Fr detta behver du e-postmjukvara som frstr smtp, tex qmail,
  smail, vmail eller mozilla (denna kan allting: e-postlsare, POP,
  smtp!)

  G till en av de tidigare avsnitten fr att installera och konfigurera
  den du tycker bst om. Sedan kommer du att komma till 'Testning',
  testa att skicka ngra e-postmeddelanden till ett lokalt konto p e-
  post hubben.


  7.4.  Att lsa e-post


  Om ditt program inte fixar allting sjlv s kan du installera elm,
  pgp, mush, pine, ... det finns mnga bra fritt tillgngliga program
  fr Linux.

  7.5.  Testning


  Fr att kolla att din e-postserver har POP, frsk med:



       $ telnet mailhost 110




  Om det fungerar s skall du f ngot unefr som: "OK Pop server (...)
  starting". Skriv quit.

  Fr att installera en ssh-krypterad kanal, testa frst din e-
  postserver med:



       $ ssh mailhost date




  Om du fr tillbaka ett datum, s skall allt vara okej. Notera att ssh
  kommer inte att frga efter ett lsenord, drfr mste du skapa en fil
  .shosts p e-postservern som innehller klientens namn. Fr att desta
  omdirigering av ssh port (som gwpop anvnder), skriv:



       $ ssh -n -f -L 12314:localhost:110 mailhost sleep 30

       sedan

       $ telnet localhost 12314




  D skall du frhoppningsvis se e-post hubbens POP meddelande. Om du
  inte anvnder ssh, glm inte att kommentera bort $ssh i alla gwpop
  skript. Fr att se om procmail kr, frsk med procmail -v.


  7.6.  Anvndning


  Nu kan du modifiera gwpops Perl-skript fr att kolla att allt r okej,
  kr sedan qwpop:



       $ gwpop -v your-username
       POP password on mailhost: yoursecretpasword




  Om meddelanden frn gwpop r normala s skall e-posten frn e-post
  hubben laddas ner till din lokala maskin och sparas dr du
  specificerade.(testa med ngra e-postmeddelanden!)

  Du kan ocks kra gwpop som daemon:

       $ gwpop -d $HOME/tmp your-username




  Alla meddelanden frn gwpop skickas d till syslog och gwpop kommer
  alltid att vara igng; en 'HUP' signal gr att qwpop hmtar din e-
  post.

  Du kan hmta POP-mjukvaran p:

  ftp://ftp.pasteur.fr/pub/Network/gwpop

  ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail

  http://www.cs.hut.fi/ssh/


  8.  E-post anvndarprogram


  Detta avsnitt innehller information relaterad till 'anvndarprogram',
  vilket avser mjukvaran som anvndaren ser och anvnder. Denna mjukvara
  litar till transportprogrammen som diskuterats ovan. Flera andra
  anvndarprogram finns nu tillgngliga (pine, mush ...) men jag har
  inte hittat ngon linux-specifik information att bertta om dem. Sg
  till om jag missar ngot!


  8.1.  Mutt

  Det skall inte vara ngra problem att kompilera, installera och kra
  mutt. Qmail anvndare anvnder antingen en qmail-patch eller kr med
  parametern -f fr att lsa sin lokala e-postkatalog.

  Om mutt besvrar med ett 'unknown terminal error' efter en
  uppgradering av distributionen s bara kompilera om det.


  8.2.  Elm


  Elm kan kompileras, installeras och kras utan problem i Linux. Fr
  mer information, titta i elm's kllkod och installations
  instruktioner. Elm och filter mste ha "mode 2755" (gruppen mail) och
  /var/spool/mail/ "mode 775" och grupp mail.

  Anvndare av qmail br hmta en patch fr att kunna anvnda bra
  egenskaper hos qmail, eller kra elm med flaggan -f fr att peka till
  deras lokala e-postkatalog.

  Om du anvnder en binrdistribution, s mste du skapa en fil
  /usr/local/lib/elm/elm.rc fr att inte anvnda de inkompilerade namnen
  p dator och domn:


    byt ut subdomain.domain med ditt domnnamn

    byt ut myhostname med ditt datornamn (utan domn)







          #---------- /usr/local/lib/elm/elm.rc ------------------
          #
          # this is the unqualified hostname
          hostname = myhostname
          #
          # this is the local domain
          hostdomain = subdomain.domain
          #
          # this is the fully qualified hostname
          hostfullname = myhostname.subdomain.domain
          #
          #--------------------------------------------------------



  En sak som du skall veta r att om du har kompilerat in MIME-std i
  elm s mste metamail vara installerat och finnas i din skvg, annars
  kommer elm inte att kunna lsa e-post i MIME format som du tar emot.
  Metamail finns p thumper.bellcore.com och sklart via archie.

  I kategorin "fr cool fr att vara sann", finns det en distribution av
  elm-2.4.24 som har std fr PGP. Fr att testa det, hmta filen
  ftp://ftp.viewlogic.com/pub/elm-2.4pl24pgp3.tar.gz. Du konfigurerar
  och kompilerar det p samma stt som du gr med normala elm, vilket
  betyder att du antagligen behver installera patcharna som nmns ovan.
  Fr vad det r vrt, jag kr det hr och jag gillar det mycket.
  Sjlvklart mste det finnas senare versioner att tillg, inklusive
  elm-ME+.

  Detta r inget Linux-specifikt, det antas (felaktigt) vara en
  irriterande bugg i elm. Vi har hrt att elm ibland falerar med ett
  meddelande att det inte kan gra en malloc() p ett stort antal bytes.
  Den identifierade sttet att undvika detta r att ta bort de post-
  processade globala e-postaliasen (aliases.dir och aliases.pag).

  DETTA R INTE EN BUGG I ELM, det r ett fel i konfigurationen av elm
  som den som kompilerat elm har gjort.

  Elm har ett utkat och icke-kompatibelt format fr alias. Du mste se
  till att skvgen som elm anvnder fr alias inte r samma som den som
  sendmail/smail anvnder. Av dma av volymen av rapporter med detta
  problem, s r det sjlvklart att tminstonde en stor distribution 'p
  gatan' har varit felkonfigurerad. (frn  scot at catzen.gun.de (Scot
  W. Stevenson) )

  Nuvarande version av metamail krver csh fr vissa av dess skript. Att
  inte ha csh (eller tcsh) skapar vldigt intressanta fel...


  8.3.  Mailx


  Om du inte har ett lokalt mailx program, spara dig mdan. Hmta bara
  mailx paketet frn Slackware 2.1.0 eller senare, vilka har en bra
  implemetering av mailx5.5. Om du gillar att bygga frn kllkod s
  kompilerar mailx v5.5 i Linux utan patchar om du har pmake
  installerat.

  Om ngon fortfarande anvnder det, s rekommenderar jag starkt att ta
  bort de gamla edmail-grejorna frn SLS1.00 och erstta dem med mailx.


  8.4.  Andra anvndarprogram



  Det r ven knt att fljande program fungerar i Linux. Anvnd archie
  fr detaljer om hur du hittar dem...


    mutt    - p lnga vgar bttre n elm, vldigt enkel att anvnda

    pine      - frn  University of Washington

    metamail  - har MIME-std

    mh        - ytterligare ett stt att hantera e-post.

    deliver   - spara/processa e-post baserat p regler.

    procmail  - spara/processa e-post baserat p regler.

    majordomo - hanterar e-postlistor

    mserv     - erbjuder filer-per-e-post


  9.  Tillknnagivanden


  Fljande personer har hjlpt till med att stta ihop den information
  och erfarenhet som hjlpte till att gra detta dokument mjligt:

  Steve Robbins, Ian Kluft, Rich Braun, Ian Jackson, Syd Weinstein, Ralf
  Sauther, Martin White, Matt Welsh, Ralph Sims, Phil Hughes, Scot
  Stevenson, Neil Parker, Stephane Bortzmayer och srskilt mycket tack
  till Vince Skahan fr hans enorma bidrag.

  Om jag glmde ngon, urskta mig: skicka ett e-postmeddelande!

































