<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=Postfix%27i_arhitektuuri_kirjeldus_ja_kasutamise_keerulisemad_v%C3%B5imalused</id>
	<title>Postfix'i arhitektuuri kirjeldus ja kasutamise keerulisemad võimalused - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=Postfix%27i_arhitektuuri_kirjeldus_ja_kasutamise_keerulisemad_v%C3%B5imalused"/>
	<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=Postfix%27i_arhitektuuri_kirjeldus_ja_kasutamise_keerulisemad_v%C3%B5imalused&amp;action=history"/>
	<updated>2026-05-03T17:44:26Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=Postfix%27i_arhitektuuri_kirjeldus_ja_kasutamise_keerulisemad_v%C3%B5imalused&amp;diff=1887&amp;oldid=prev</id>
		<title>Imre: Uus lehekülg: '===Postfixi arhitektuur===  Abstraktsel tasemel võiks Postfixi tööd iseloomustada sellise skeemiga                        SISEND                                                      VÄLJUND            postimasinast saadetud kiri                                                         võrgust saabunud kiri   --------&gt;  järjekorrahaldur --------&gt;  smtp, relay, lmtp   kohapeal tekitatud edasisuunamine                queue manager             local, virtual, pipe...'</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=Postfix%27i_arhitektuuri_kirjeldus_ja_kasutamise_keerulisemad_v%C3%B5imalused&amp;diff=1887&amp;oldid=prev"/>
		<updated>2025-05-31T14:44:21Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;===Postfixi arhitektuur===  Abstraktsel tasemel võiks Postfixi tööd iseloomustada sellise skeemiga                        SISEND                                                      VÄLJUND            postimasinast saadetud kiri                                                         võrgust saabunud kiri   --------&amp;gt;  järjekorrahaldur --------&amp;gt;  smtp, relay, lmtp   kohapeal tekitatud edasisuunamine                queue manager             local, virtual, pipe...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Postfixi arhitektuur===&lt;br /&gt;
&lt;br /&gt;
Abstraktsel tasemel võiks Postfixi tööd iseloomustada sellise skeemiga&lt;br /&gt;
&lt;br /&gt;
                      SISEND                                                      VÄLJUND&lt;br /&gt;
  &lt;br /&gt;
        postimasinast saadetud kiri                                          &lt;br /&gt;
              võrgust saabunud kiri   --------&amp;gt;  järjekorrahaldur --------&amp;gt;  smtp, relay, lmtp&lt;br /&gt;
  kohapeal tekitatud edasisuunamine                queue manager             local, virtual, pipe&lt;br /&gt;
         kohapeal moodustatud teade&lt;br /&gt;
&lt;br /&gt;
kus on üldiselt kujutatud, et Postfixi sisendisse saabuvate kirjadega asub tegelema järjekorrahaldur ning seejärel väljub kiri ühel kuuest näidatud viisil.&lt;br /&gt;
&lt;br /&gt;
Vasakul on loetletud neli erinevat võimalust, kuidas kiri võib jõuda Postfixi töötlemisele&lt;br /&gt;
&lt;br /&gt;
====Postimasinast endast saadetud kiri====&lt;br /&gt;
&lt;br /&gt;
Nt postimasin seest kasutaja enda poolt saadetud /usr/sbin/sendmail käsuga&lt;br /&gt;
&lt;br /&gt;
  $ echo &amp;quot;kirja sisu&amp;quot; | sendmail -s subjekt mart@loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Kirja &lt;br /&gt;
&lt;br /&gt;
* võrgust saabunud kiri - kõnealune Postfix kuulab arvuti võrguseadme port 25/tcp peal ning üle võrgu pöördub nt teine Postfix&lt;br /&gt;
* kohapeal tekitatud edasisuunamine - nt aliaste lahendamisel&lt;br /&gt;
* kohapeal moodustatud teade - Postfix genereerib oma töö käigus teated, nt nn bounce kirju kui kiri võeti küll töötlemisele nt võrgust, aga kirja töötlemisel selgus, et kirja ei õnnestu edasi saata&lt;br /&gt;
&lt;br /&gt;
===Postfix seadistamine===&lt;br /&gt;
&lt;br /&gt;
Postfix tööd juhivad kaks peamist seadistusfaili&lt;br /&gt;
&lt;br /&gt;
* master.conf&lt;br /&gt;
* main.conf&lt;br /&gt;
&lt;br /&gt;
master.conf faili sisu on vaikimisi selline&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keerulisemal juhul nt sisaldab sellist osa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/postfix/master.cf&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
25       inet  n -       -       -       1 postscreen&lt;br /&gt;
  -o syslog_name=postfix/postscreen&lt;br /&gt;
&lt;br /&gt;
smtpd       pass  - -       -       -       100      smtpd&lt;br /&gt;
  -o content_filter=scan:127.0.0.1:10024&lt;br /&gt;
  -o receive_override_options=no_address_mappings&lt;br /&gt;
  -o smtpd_discard_ehlo_keywords=silent-discard,dsn&lt;br /&gt;
  -o mynetworks=127.0.0.0/8,10.0.0.44&lt;br /&gt;
&lt;br /&gt;
scan      unix  -       -       n       -       31      lmtp&lt;br /&gt;
  -o lmtp_send_xforward_command=yes&lt;br /&gt;
  -o lmtp_connection_cache_on_demand=no&lt;br /&gt;
  -o disable_dns_lookups=yes&lt;br /&gt;
&lt;br /&gt;
26       inet  n -       -       -       100      smtpd&lt;br /&gt;
  -o smtpd_tls_dh1024_param_file=${config_directory}/dh1024.pem&lt;br /&gt;
  -o content_filter=scan:127.0.0.1:10023&lt;br /&gt;
  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
  -o smtpd_tls_security_level=may&lt;br /&gt;
  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
  -o smtpd_sasl_type=dovecot&lt;br /&gt;
  -o smtpd_sasl_path=inet:192.168.1.252:12345&lt;br /&gt;
  -o smtpd_sasl_security_options=noanonymous&lt;br /&gt;
  -o smtpd_sasl_local_domain=$myhostname&lt;br /&gt;
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination&lt;br /&gt;
  -o smtpd_helo_restrictions=&lt;br /&gt;
  -o smtpd_client_restrictions=&lt;br /&gt;
  -o smtpd_sender_restrictions=&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* interneti otsal ('inet') istub port 25 ('smtp') peal postscreen protsess&lt;br /&gt;
&lt;br /&gt;
 # find /usr/ -name postscreen&lt;br /&gt;
 /usr/lib/postfix/sbin/postscreen&lt;br /&gt;
&lt;br /&gt;
* postfix postscreen manual õpetab, et ''&lt;br /&gt;
* postscreen annab kirja edasi postfix 'smptd' nimelisele sektsioonile mis on 'pass' tüüpi ja andmed saadetakse programmi smtpd sisendisse&lt;br /&gt;
&lt;br /&gt;
 /usr/lib/postfix/sbin/smtpd&lt;br /&gt;
&lt;br /&gt;
* smtpd programm rakendab -o suvanditega kirjeldatud kontrollid ning pöördub 'scan' nimelisi 'unix' tüüpi sektsiooni poole, täpsustades pöördumist '127.0.0.1:10024' mida kasutab lmtp programm edasi pöördumisel&lt;br /&gt;
&lt;br /&gt;
 /usr/lib/postfix/sbin/lmtp&lt;br /&gt;
&lt;br /&gt;
* lmtp programm pöördub arvutis töötava postfix välise komponendi poole aadressile 127.0.0.1:10024&lt;br /&gt;
* arvutis töötav 127.0.0.1:10024 komponent töötleb sisendi ja tõenäoliselt pöördub tagasi postfix poole pordile 26 vms&lt;br /&gt;
* sarnaselt võib kiri tiirutada veel omajagu postfixi sisemiste komponentide vahel + postfixi väliste juures käies vahepeal&lt;br /&gt;
&lt;br /&gt;
===Eposti kirja ja kirja edastamise protokollid===&lt;br /&gt;
&lt;br /&gt;
Huvitav asjaolu on, et eposti kirja formaat ja eposti kirjade vahetamine on kirjeldatud erinevates RFC (Request for Comments) tekstides, vastavalt&lt;br /&gt;
&lt;br /&gt;
* RFC2822 (Internet Message Format) - http://www.faqs.org/rfcs/rfc2822.html&lt;br /&gt;
* RFC2821 (Simple Mail Transfer Protocol) - http://www.faqs.org/rfcs/rfc2821.html&lt;br /&gt;
&lt;br /&gt;
Kui postiprogrammiga, nt Icedove koostada kiri ja see saata, siis iseenesest saadab klient postimasinale nt sellise teksti&lt;br /&gt;
&lt;br /&gt;
  Message-ID: &amp;lt;4A90629C.6050100@loomaaed.tartu.ee&amp;gt;&lt;br /&gt;
  Date: Sun, 23 Aug 2009 00:26:52 +0300&lt;br /&gt;
  From: Priit Kask &amp;lt;priit@loomaaed.tartu.ee&amp;gt;&lt;br /&gt;
  User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706)&lt;br /&gt;
  MIME-Version: 1.0&lt;br /&gt;
  To: Mart Kask &amp;lt;mart@loomaaed.tartu.ee&amp;gt;&lt;br /&gt;
  Subject: testkiri&lt;br /&gt;
  Content-Type: text/plain; charset=UTF-8&lt;br /&gt;
  Content-Transfer-Encoding: 8bit&lt;br /&gt;
  &lt;br /&gt;
  Tere!&lt;br /&gt;
  &lt;br /&gt;
  Ja siit tuleb üks test kiri.&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  Priit&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* read kuni esimese tühja reani moodustavad kirja päised (headers)&lt;br /&gt;
* ülejäänud read moodustavad kirja keha (body)&lt;br /&gt;
&lt;br /&gt;
Kui aga kirja kätte saanud kasutaja vaatab kogu kirja, siis paistab talle kiri selline&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
kus kirja algusse seda kirja töötlenud postimasinad lisanud juurde kirjeid&lt;br /&gt;
&lt;br /&gt;
* Received - iga postimasin lisab reeglina ühe sellise rea (see on üks rida kuna protokolli kohaselt rida jätkub kui järgmine rida algab tühikuga (ingl. k. whitespace))&lt;br /&gt;
* Return-Path - kohaliku kättetoimetamise (ingl. k. local delivery) teinud postimasin lisab nn ümbriku from aadressi&lt;br /&gt;
&lt;br /&gt;
Kõik juurde lisatud andmed on lisatud SMTP protokolli rääkimise alusel, st need kõik väljendavad kirja teekonna erinevatel etappidel kasutatud ümbriku aadresse.&lt;br /&gt;
&lt;br /&gt;
===Aadressiklassid===&lt;br /&gt;
&lt;br /&gt;
Aadressiklasside (ingl. k. address classes) http://www.postfix.org/ADDRESS_CLASS_README.html abil otsustab Postfix milliseid kirju vastu võtta ja kuidas neid edasi toimetada. Addressklass on määratletud kolme tunnuse alusel&lt;br /&gt;
&lt;br /&gt;
* klassiga seotud domeenide nimekiri (ingl. k. list of domains that are a member of the class) - nt kõik local_domains, kõik relay_domains&lt;br /&gt;
* vaikimisi edasitoimetamise transport (ingl. k. default delivery transport) - nt local, virtual või relay&lt;br /&gt;
* kirjasaajate nimekiri (ingl. k. list of valid recipient addresses)&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on 2009 aastal Postfixis kasutusel sellised aadressklassid&lt;br /&gt;
&lt;br /&gt;
* local domain class - canonical domains&lt;br /&gt;
* virtual alias domain class - hosted domains&lt;br /&gt;
* virtual mailbox domain class - hosted domains&lt;br /&gt;
* relay domain class - relay domains&lt;br /&gt;
* default domain class&lt;br /&gt;
&lt;br /&gt;
===Mail forwarding domains===&lt;br /&gt;
&lt;br /&gt;
Mail forwarding töötab praktiliselt nii nagu nö tavaline alises, kuid&lt;br /&gt;
&lt;br /&gt;
* sissetulevaid kirju saab käsitleda arvestades @domeeninime ja selle alusel neid eristada (erinevalt tavalisest aliasest, mis võtab vastu kõik mydestination domeenide posti)&lt;br /&gt;
* kirju saab edasi saata suvalisele eposti aadressile, mis esitatakse tavalisel kasutaja@domeeninimi kujul (erinevalt tavalisest aliasest, mille abil saab teha ainult local delivery mydestination domeeninimedele)&lt;br /&gt;
&lt;br /&gt;
Seadistusfailis /etc/postfix/main.cf sobib kasutada selliseid ridu&lt;br /&gt;
&lt;br /&gt;
  # cat mail.cf:&lt;br /&gt;
  ...&lt;br /&gt;
  virtual_alias_domains = zoopark.tartu.ee loomaaed.tartu.ee&lt;br /&gt;
  virtual_alias_maps = hash:/etc/postfix/virtual_alias_map&lt;br /&gt;
&lt;br /&gt;
Failis /etc/postfix/virtual_alias_map sobib kasutada selliseid ridu&lt;br /&gt;
&lt;br /&gt;
  # cat virtual_alias_map&lt;br /&gt;
  root@zoopart.tartu.ee zoopark-postmaster@gmail.com&lt;br /&gt;
  root@loomaaed.tartu.ee loomaaed-postmaster@gmail.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks tuleb teisendada antud juhul (hash:/) tekstifail Berkeley andmebaasiks öeldes&lt;br /&gt;
&lt;br /&gt;
 # postmap /etc/postfix/virtual_alias_map&lt;br /&gt;
&lt;br /&gt;
Tulemusena tekib fail /etc/postfix/virtual_alias_map.db&lt;br /&gt;
&lt;br /&gt;
 # file /etc/postfix/virtual_alias_map.db &lt;br /&gt;
 /etc/postfix/virtual_alias_map.db: Berkeley DB (Hash, version 9, native byte-order)&lt;br /&gt;
&lt;br /&gt;
Sellise faili sisu saab esitada öeldes&lt;br /&gt;
&lt;br /&gt;
 # postmap -s /etc/postfix/virtual_alias_map&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://www.postfix.org/VIRTUAL_README.html&lt;br /&gt;
&lt;br /&gt;
===Postisüsteemi testimine===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
====Jõudlus====&lt;br /&gt;
&lt;br /&gt;
TODo&lt;br /&gt;
&lt;br /&gt;
====Spam====&lt;br /&gt;
&lt;br /&gt;
Aadressil http://spamassassin.apache.org/gtube/ on nö standard spammi, mille nt Spamassassin peaks avastama&lt;br /&gt;
&lt;br /&gt;
  XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X&lt;br /&gt;
&lt;br /&gt;
Katsetamiseks tuleks see järgnevus sisestada kirja eraldi reane reavahetusega lõpus.&lt;br /&gt;
&lt;br /&gt;
====Viirus====&lt;br /&gt;
&lt;br /&gt;
Aadressil http://www.eicar.org/anti_virus_test_file.htm on nö standardne viirus, mille nt ClamAV peaks avastama&lt;br /&gt;
&lt;br /&gt;
  X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*&lt;br /&gt;
&lt;br /&gt;
Katsetamiseks tuleks see salvestada tekstifaili reavahetusega lõpus ning lisada kirjale.&lt;br /&gt;
&lt;br /&gt;
===Logi ja debugimine===&lt;br /&gt;
&lt;br /&gt;
Kui mingil põhjusel on tarvis uurida mõnda parasjagu sabas olevat kirja, siis sobib selleks programm postcat. Tavaliselt saab logist või mailq programmi väljundist teada kirja identifikaatori ning selle abil õnnesub sabast kirjale  vastav fail üles leida.&lt;br /&gt;
&lt;br /&gt;
  # mailq&lt;br /&gt;
  ....&lt;br /&gt;
  C558C4DC80      794 Sat Dec 20 10:18:55  bounce@loomaaed.tartu.ee&lt;br /&gt;
            (connect to smtp-gw.loomaaed.tartu.ee[10.0.2.5]: Connection refused)&lt;br /&gt;
                                         mart@loomaaed.tartu.ee&lt;br /&gt;
  ..&lt;br /&gt;
&lt;br /&gt;
  # find /var/spool/postfix -name C558C4DC80 -ls&lt;br /&gt;
  313873    4 -rw-------   1 postfix  postfix       257 Dec 21 23:14 /var/spool/postfix/defer/C/C558C4DC80&lt;br /&gt;
  318592    4 -rwx------   1 postfix  postfix      1001 Dec 22 00:20 /var/spool/postfix/deferred/C/C558C4DC80&lt;br /&gt;
&lt;br /&gt;
* järjekorras oleva kirja sisu esitamine nö inimloetaval kujul&lt;br /&gt;
&lt;br /&gt;
 # postcat -q C558C4DC80&lt;br /&gt;
&lt;br /&gt;
Kui on vajadus sabas olev kiri kustutada, siis ei tohiks seda teha niisama failisüsteemist vastavate failide kustutamise teel vaid tuleb kasutada nt programmi postsuper, öeldes&lt;br /&gt;
&lt;br /&gt;
  # postsuper -d C558C4DC80&lt;br /&gt;
&lt;br /&gt;
===Piirangute rakendamine töödeldavale epostile===&lt;br /&gt;
&lt;br /&gt;
Postfix võimaldab üksikasjaliselt kontrollida, millist eposti süsteem töötlema hakkab, st võtab vastu ning saadab edasi või edasisaatmise asemel teeb local delivery. Käesolevas punktis käsitletavad piirangud on nn before-queue piirangud, st need rakendatakse enne kirja sabasse (ingl. k. queue) võtmist.&lt;br /&gt;
&lt;br /&gt;
Selleks, et paremini mõista Postfix poolt pakutavate piirangute seadistamise võimalusi, kordame üle milline järgnevust sooritatakse vastavalt SMTP protokollile kui postimasina poole pöördub SMTP klient; rea lõpus on märgitud millist Postfixi piirangute nimekirja on mingi andmevahetuse etapi juures võimalik rakendada.&lt;br /&gt;
&lt;br /&gt;
  smtp-client ---&amp;gt; smtp-klient.auul ühendub Postfix serveri 25/tcp pordile   &amp;lt;--- smtpd_client_restrictions&lt;br /&gt;
  smtp-server ---&amp;gt; 220 smtp-server.auul ESMTP Postfix (Debian/GNU)        &lt;br /&gt;
  smtp-klient ---&amp;gt; EHLO post-klient.auul                                     &amp;lt;--- smtpd_helo_restrictions&lt;br /&gt;
  smtp-server ---&amp;gt; 250-smtp-server.auul&lt;br /&gt;
                   250-PIPELINING&lt;br /&gt;
                   250-SIZE 10240000&lt;br /&gt;
                   250-VRFY&lt;br /&gt;
                   250-ETRN&lt;br /&gt;
                   250-STARTTLS&lt;br /&gt;
                   250-ENHANCEDSTATUSCODES&lt;br /&gt;
                   250-8BITMIME&lt;br /&gt;
                   250 DSN&lt;br /&gt;
  smtp-klient ---&amp;gt; MAIL FROM:&amp;lt;priit@loomaaed.tartu.ee&amp;gt; SIZE=325              &amp;lt;--- smtpd_sender_restrictions&lt;br /&gt;
                   RCPT TO:&amp;lt;mart@bmail.com&amp;gt; ORCPT=rfc822;mart@bmail.com      &amp;lt;--- smtpd_recipient_restrictions&lt;br /&gt;
                   DATA&lt;br /&gt;
  smtp-server ---&amp;gt; 250 2.1.0 Ok&lt;br /&gt;
                   250 2.1.5.Ok&lt;br /&gt;
                   354 End data with &amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;.&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;br /&gt;
  smtp-klient ---&amp;gt; saadab kirja osa&lt;br /&gt;
                   ...&lt;br /&gt;
Piirangute nimekiri võib olla mõnel juhul tühi ja mõnel juhul peab kindlasti sisaldama vähemalt kindlaksmääratud piiranguid. Piirangute kontroll toimub selliselt&lt;br /&gt;
&lt;br /&gt;
* piirangute nimekirjast rakendatakse esimene klappinud piirang, järgmisi selle nimekirja piiranguid ei kontrollita&lt;br /&gt;
* rakendatakse esimene tulemusega (REJECT, DEFER või PERMIT) lõppenud piirangute nimekiri&lt;br /&gt;
&lt;br /&gt;
Kontrolli tulemus rakendatakse peale RCPT TO andmete saamist.&lt;br /&gt;
&lt;br /&gt;
Nt võiks kasutada sellist piirangute nimekirja, selline on nimekiri vaikimisi Debiani Lenny puhul ja väljund on esitatud järjestatuna rakendamise järjekorras&lt;br /&gt;
&lt;br /&gt;
  # postconf | grep smtpd_ | egrep &amp;quot;(_client_|_helo_|_sender_|_recipient_)&amp;quot; | egrep &amp;quot;restrictions &amp;quot;&lt;br /&gt;
  smtpd_client_restrictions = &lt;br /&gt;
  smtpd_helo_restrictions = &lt;br /&gt;
  smtpd_sender_restrictions = &lt;br /&gt;
  smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination&lt;br /&gt;
&lt;br /&gt;
Siinjuures tuleb tähele panna asjaolu, et igas reeglite nimekirjas on lubatud kasutada ainult teatud kontrolle, kusjuures igas järgmises on lubatud kasutada eelmiste nimekirjade kontrolle. Antud juhul ongi smtpd_recipient_restrictions juures kasutatud permit_mynetworks'i, mis on iseenesest smtpd_client_restrictions nimekirja kontroll, vt http://www.postfix.org/postconf.5.html&lt;br /&gt;
&lt;br /&gt;
Esitatud näites esimesena kehtestatav ning ainuke piirangute nimekiri on smtpd_recipients_restrictions ja mis sisaldab kahte kontrolli&lt;br /&gt;
&lt;br /&gt;
* permit_mynetworks - lubada saata posti nendest alamvõrkudest, milles asub postimasin&lt;br /&gt;
* reject_unauth_destination - keeldutaks töötlemast posti mida ei ole postimasin seadistatud kas vahendama või millele tegema local deliverit&lt;br /&gt;
&lt;br /&gt;
Mõned allikad soovitavad kõik piirangud seadistada ühe smtpd_recipient_restrictions parameetri abil kuna nii on ehk tagatud parem ülevaatlikkus.&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Aliase olemasolu kontrollimiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
  # postmap -q mart@loomaaed.tartu.ee pgsql:/etc/postfix/pgsql-local.cf&lt;br /&gt;
&lt;br /&gt;
Kirjade sabast ära saatmiseks&lt;br /&gt;
&lt;br /&gt;
  # postqueue -f&lt;br /&gt;
&lt;br /&gt;
===Väljuva kirja ümbriku mail from aadressi muutmine===&lt;br /&gt;
&lt;br /&gt;
Süsteemist väljuva posti ümbriku muutmiseks tuleb kasutada mail.cf failis rida&lt;br /&gt;
&lt;br /&gt;
  smtp_generic_maps = hash:/etc/postfix/generic&lt;br /&gt;
&lt;br /&gt;
ning /etc/postfix/generic ise sisaldab näiteks selliseid ridu&lt;br /&gt;
&lt;br /&gt;
  www-data@arvuti.sisedomeen   www-bounce@valisdomeen.ee&lt;br /&gt;
  root@arvuti.sisedomee       www-bounce@valisdomeen.ee&lt;br /&gt;
&lt;br /&gt;
Muudatuste kehtestamiseks tuleb generic'ikile vastav andmebaas moodustada käsuga&lt;br /&gt;
&lt;br /&gt;
  # postmap /etc/postfix/generic&lt;br /&gt;
&lt;br /&gt;
ning laadida reload'iga Postfix.&lt;br /&gt;
&lt;br /&gt;
Käskuga postconf estitatakse parasjagu kehtetatud Posfixi seadistused&lt;br /&gt;
&lt;br /&gt;
  # postconf&lt;br /&gt;
&lt;br /&gt;
ning lisades võtme -n esitatakse main.cf failis ilmutatult kasutatud parameetrite väärtused&lt;br /&gt;
&lt;br /&gt;
  # postconf -n&lt;br /&gt;
&lt;br /&gt;
Konkreetse parameetri väärtust saab küsida nii, nt&lt;br /&gt;
&lt;br /&gt;
  # postconf mail_version&lt;br /&gt;
  mail_version = 2.5.5&lt;br /&gt;
&lt;br /&gt;
===Kirjade töötlemine välise programmiga===&lt;br /&gt;
&lt;br /&gt;
Ühel või teisel põhjusel võib olla vaja sellist asjakorraldus, et kas postisüsteemi kõiki või vaid teatud tunnustele vastavaid kirju saaks töödelda välise programmiga. Ja selliselt, et väline programm saab andmeid oma stdio'sse ning järele mõned argumendid. Üheks võimaluseks seda korraldada on kostümiseeritud transporti kirjeldamise abil.&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/main.cf faili tuleb lisada rida&lt;br /&gt;
&lt;br /&gt;
  transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/transport failis peab sisalduma nt rida&lt;br /&gt;
&lt;br /&gt;
  loomaaed.tartu.ee pf&lt;br /&gt;
&lt;br /&gt;
ning tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # postmap /etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/master.cf failis peab sisaldub sektsioon&lt;br /&gt;
&lt;br /&gt;
  pf    unix  -       n       n       -       -       pipe   &lt;br /&gt;
  flags=RDX user=programmikasutaja argv=/bin/pf.pl ${user} ${domain}&lt;br /&gt;
&lt;br /&gt;
ning kui /bin/pf.pl sisaldab nt&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/perl&lt;br /&gt;
  open (fh, &amp;quot;&amp;gt;&amp;gt;/tmp/pf.log&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  print fh &amp;quot;$ARGV[0]\n&amp;quot;;&lt;br /&gt;
  print fh &amp;quot;$ARGV[1]\n\n\n&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  @read=&amp;lt;STDIN&amp;gt;;&lt;br /&gt;
  &lt;br /&gt;
  foreach $rida (@read) {&lt;br /&gt;
    print fh $rida;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Siis selle faili algusse kirjutatakse epostiaadressi @ märgist vasemale ja paremale jääv osa erinevatele ridadele ning kirja sisu kusjuures lisatakse päisele mõned read vastavalt sellele, mida lipud flags järel ütlevad.&lt;br /&gt;
&lt;br /&gt;
===SPF - Sender Policy Framework===&lt;br /&gt;
&lt;br /&gt;
SPF (Sender Policy Framework - ingl. k. epost saatja kontrollimise raamistik) http://www.openspf.org/Project_Overview võimaldab saavutada sellised eesmärke&lt;br /&gt;
&lt;br /&gt;
* kaitsta eposti vastuvõtjat ümbriku from aadressi võltsijate eest (eeldusel, et võltsitava domeeninime omanikud on oma domeenidele kirjeldanud spf kirjed või spf sisuga txt kirjed)&lt;br /&gt;
* kaitsta domeeninime omanikku ümbriku from aadressi võltsijate tegevuse eest, tulemusena ei saa võltsijad saata kontrollimatult adressaatidele võltsitud eposti&lt;br /&gt;
&lt;br /&gt;
====SPF tööpõhimõtte kirjeldus====&lt;br /&gt;
&lt;br /&gt;
  # apt-get instal spfqtool&lt;br /&gt;
&lt;br /&gt;
====Eposti vastuvõtja ettevalmistamine====&lt;br /&gt;
&lt;br /&gt;
Postfix sisaldab 'Postfix SMTP access policy delegation' http://www.postfix.org/SMTPD_POLICY_README.html süsteemi, mille abil saab ühendada MTA välise lahendusega, antud juhul SPF'iga, selleks, et teostada täiendavat kontrolli, milliste omadustega kirju saab läbi kõnealuse postisüsteemi saata.&lt;br /&gt;
&lt;br /&gt;
Üheks SPF kasutamise võimaluseks on sama MTA sees pidada Postfixi master deemoni poolt käivitatavat Perli skripti, mida jagatakse postfix-policyd-spf-perl paketina, paigaldamiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # apt-get install postfix-policyd-spf-perl&lt;br /&gt;
&lt;br /&gt;
====Nimesüsteemi ettevalmistamine====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Milter===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Postfix delivery tegemine LDAP kataloogi alusel===&lt;br /&gt;
&lt;br /&gt;
Valmistada LDAP kliendi seadistused ette /etc/ldap/ldap.conf failis ja Postfixi jaoks põhimõtteliselt midagi sellist&lt;br /&gt;
&lt;br /&gt;
  # cat /etc/postfix/ldap.cf&lt;br /&gt;
  server_host = ldaps://ldap.loomaaed.tartu.ee&lt;br /&gt;
  version = 3&lt;br /&gt;
  &lt;br /&gt;
  search_base = dc=loomaaed,dc=tartu,dc=ee&lt;br /&gt;
  query_filter = mail=%s&lt;br /&gt;
  result_attribute = sn&lt;br /&gt;
&lt;br /&gt;
kontrolliks sobib küsida&lt;br /&gt;
&lt;br /&gt;
  # postmap -q mart@loomaaed.tartu.ee ldap:/etc/postfix/ldap.cf &lt;br /&gt;
  Kask&lt;br /&gt;
&lt;br /&gt;
===Aliases andmebaas===&lt;br /&gt;
&lt;br /&gt;
Postfix kasutab aliases andmebaasina Berkeley formaadis faili, mida hallatakse programmiga postalias.&lt;br /&gt;
&lt;br /&gt;
* andmebaasi genereerimiseks peab olema ettevalmistatud nt sellise seisuga tekstifail&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/aliases&lt;br /&gt;
 priit: priit@loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
ja sobib ütelda&lt;br /&gt;
&lt;br /&gt;
 # postalias /etc/aliases&lt;br /&gt;
&lt;br /&gt;
mille tulemusena moodustatakse fail /etc/aliases.db&lt;br /&gt;
&lt;br /&gt;
* andmebaasist sissekande pärimiseks sobib ütelda&lt;br /&gt;
&lt;br /&gt;
 # postalias -q priit /etc/aliases&lt;br /&gt;
 priit@loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
* kogu andmebaasi sisu esitamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # postalias -s /etc/aliases&lt;br /&gt;
&lt;br /&gt;
* andmebaasist sissekande kustutamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # postalias -d priit /etc/aliases&lt;br /&gt;
&lt;br /&gt;
* andmebaasi sissekande lisamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # echo &amp;quot;mart: mart@loomaaed.tartu.ee&amp;quot; | postalias -i /etc/aliases&lt;br /&gt;
&lt;br /&gt;
Aliases andmebaasi ei tehta tavaliselt muudatusi mitte otse vaid esmalt muudetakse vastavat tekstifaili /etc/aliases ning seejärel genereeritakse kogu andmebaas uuesti mis asub failis /etc/aliases.db.&lt;br /&gt;
&lt;br /&gt;
===Subject logimine===&lt;br /&gt;
&lt;br /&gt;
Selleks, et mail.log faili logitakse lisaks ka läbi käivate kirjade Subject read, sobib tekitada fail sisuga&lt;br /&gt;
&lt;br /&gt;
 /etc/postfix/header_checks&lt;br /&gt;
 /^subject:/ WARN&lt;br /&gt;
&lt;br /&gt;
ning /etc/postfix/main.cf failis kasutada rida&lt;br /&gt;
&lt;br /&gt;
 header_checks = regexp:/etc/postfix/header_checks&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://davidsj.co.uk/linux/log-subject-lines-in-postfix/&lt;br /&gt;
&lt;br /&gt;
===SendEmail programmi kasutamine===&lt;br /&gt;
&lt;br /&gt;
Paigaldamiseks tuleb öelda, kaks viimast on vajalikud tls toe jaoks&lt;br /&gt;
&lt;br /&gt;
 # apt-get install sendemail libio-socket-ssl-perl libnet-ssleay-perl&lt;br /&gt;
&lt;br /&gt;
Kirja välja saatmiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 $ /usr/bin/sendemail -f imre@auul.pri.ee -t imre@auul.pri.ee -u subject -m sisu -s mx1.auul:587 \&lt;br /&gt;
   -xu imre@auul.pri.ee -xp parool -o tls=yes&lt;br /&gt;
 Dec 31 02:23:38 moraal sendemail[19048]: Email was sent successfully!&lt;br /&gt;
&lt;br /&gt;
Kui Postfix ei kasuta korrektse TLS sertifikaati, siis võib olla tarvis seda õpetada, nt paigutada&lt;br /&gt;
&lt;br /&gt;
 /usr/lib/ssl/cert.pem&lt;br /&gt;
&lt;br /&gt;
Kui Debian v. 7 Wheezy keskkonnas öeldakse tls=yes puhul&lt;br /&gt;
&lt;br /&gt;
 invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 33&lt;br /&gt;
&lt;br /&gt;
siis tuleb teha muudatus&lt;br /&gt;
&lt;br /&gt;
 # diff SSL.pm-orig /usr/share/perl5/IO/Socket/SSL.pm &lt;br /&gt;
 1490c1490,1492&lt;br /&gt;
 &amp;lt;           m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))$}i &lt;br /&gt;
 ---&lt;br /&gt;
 &amp;gt;           m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i&lt;br /&gt;
&lt;br /&gt;
headeri saatmiseks&lt;br /&gt;
&lt;br /&gt;
 -o message-header=&amp;quot;From: &amp;lt;imre@auul.pri.ee&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Kasutajate kirjade debugimine===&lt;br /&gt;
&lt;br /&gt;
Vahel võib olla abiks saada võimalikult ehedalt kätte kasutaja kirjavahetus, nt sobib selleks kasutada&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/main.cf&lt;br /&gt;
 ..&lt;br /&gt;
 sender_bcc_maps = hash:/etc/postfix/sender_bcc_maps.txt&lt;br /&gt;
&lt;br /&gt;
ja&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/sender_bcc_maps.txt&lt;br /&gt;
 imre.oolberg@moraal.ee imre@localhost&lt;br /&gt;
&lt;br /&gt;
Tulemusena, kui süsteemi siseneb kiri 'mail from' = imre.oolberg@moraal.ee, siis läbib ta süsteemi tavalisel viisil kusjuures koopia temast läheb aadressile imre@localhost. Tõenäoliselt maandub ta lokaalses arvutis faili /var/mail/imre. Sarnaselt toimib recipient_bcc_maps. always_bcc abil saab kogu postimasinat läbiva kirjavahtuse nö kõrvale toimetada&lt;br /&gt;
&lt;br /&gt;
 always_bcc = imre@localhost&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://www.postfix.org/ADDRESS_REWRITING_README.html#auto_bcc&lt;br /&gt;
* http://www.sudosu.in/2013/06/create-bcc-of-incoming-and-outgoing_26.html&lt;br /&gt;
&lt;br /&gt;
===Ümriku from aadressi asendamine===&lt;br /&gt;
&lt;br /&gt;
Olgu ülesanne asendada postimasinat läbi minevate kirjade ümbriku 'mail from' aadress kõigil kirjadel väärtusele forwarder@moraal.ee. Selleks sobib kasutada&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/main.cf&lt;br /&gt;
 canonical_maps = regexp:/etc/postfix/canonical&lt;br /&gt;
 canonical_classes = envelope_sender&lt;br /&gt;
&lt;br /&gt;
ning&lt;br /&gt;
&lt;br /&gt;
 // forwarder@moraal.ee&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://www.postfix.org/ADDRESS_REWRITING_README.html#canonical&lt;br /&gt;
&lt;br /&gt;
===Märkused===&lt;br /&gt;
&lt;br /&gt;
* Postimasinas käsurealt kirja saatmiseks sobib öelda nt&lt;br /&gt;
&lt;br /&gt;
 $ echo -e &amp;quot;From: priit@loomaaed.tartu.ee\nTo: priit.kask@gmail.com\nSubject: test 17\n\nkirja sisu 17\n&amp;quot; |\&lt;br /&gt;
   /usr/sbin/sendmail -f priit@loomaaed.tartu.ee priit.kask@gmail.com&lt;br /&gt;
&lt;br /&gt;
/var/spool/postfix alla sobiva sh sobivate omanike-gruppide-loabittidega kataloogistruktuuri moodustamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # mkdir /var/spool/postfix&lt;br /&gt;
 # /etc/init.d/postfix check&lt;br /&gt;
&lt;br /&gt;
* Telnetiga kirja saatmine&lt;br /&gt;
&lt;br /&gt;
 imre@haldus:~$ telnet smtp.imool.ee 25&lt;br /&gt;
 Trying 10.184.32.85...&lt;br /&gt;
 Connected to smtp.imool.ee.&lt;br /&gt;
 Escape character is '^]'.&lt;br /&gt;
 220 smtp1a.aso.ee ESMTP Postfix (Debian/GNU)&lt;br /&gt;
 helo haldus.imool.ee&lt;br /&gt;
 250 smtp1a.imool.ee&lt;br /&gt;
 mail from: imre@haldus.imool.ee&lt;br /&gt;
 250 2.1.0 Ok&lt;br /&gt;
 rcpt to: imre.oolberg@imool.ee&lt;br /&gt;
 250 2.1.5 Ok&lt;br /&gt;
 data&lt;br /&gt;
 354 End data with &amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;.&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;br /&gt;
 test sisu&lt;br /&gt;
 &lt;br /&gt;
 .&lt;br /&gt;
 250 2.0.0 Ok: queued as AA588B0625&lt;br /&gt;
 quit&lt;br /&gt;
 221 2.0.0 Bye&lt;br /&gt;
 Connection closed by foreign host.&lt;br /&gt;
&lt;br /&gt;
===Kõigi postimasinasse jõudnud kirjade edasisaatmine välisele catchall aadressile===&lt;br /&gt;
&lt;br /&gt;
Tundub, et virtual_maps parameeter on vananenud ja selle asemel soovitatakse kasutada virtual_domain_maps ja virtual_aliases_maps parameetrit, kuid siis ta töötab. /etc/postfix/main.cf failis sobib kasutada rida&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/main.cf&lt;br /&gt;
 ...&lt;br /&gt;
 virtual_maps = regexp:/etc/postfix/virtual-regexp&lt;br /&gt;
&lt;br /&gt;
ning /etc/postfix/virtual-regexp sisaldab nt sellist rida, regexp map failile ei ole vaja postmap öelda&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/virtual-regexp&lt;br /&gt;
 /.+@.+/ priit@loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Tulemusena, saates suvalisi kirju läbi selle postimasina, saadetakse nad kõik ühele priit@loomaaed.tartu.ee aadressile.&lt;br /&gt;
&lt;br /&gt;
===Postscreen===&lt;br /&gt;
&lt;br /&gt;
* TODO&lt;br /&gt;
* https://www.heinlein-support.de/sites/default/files/postfix_recent_adoption_of_new_technologies.pdf&lt;br /&gt;
* http://www.arschkrebs.de/slides/antispam-handout.pdf&lt;br /&gt;
&lt;br /&gt;
===2nd MX===&lt;br /&gt;
&lt;br /&gt;
2nd MX ülesanne on võtta kirju vastu ajal, kui primaarne (1nd MX) ei paku teenust. Tavaliselt vaikimisi proovib 2nd MX aegajalt  (nt 20 min järel) ja 5 päeva jooksul saata kirju primaarsele edasi. 2nd MX vastutus on, et ta ei võtaks igasugust sodi internetist vastu ja püüaks seda võimalusel 1nd MX peale edasi saata. St parem kui 2nd MX peal töötab vähemalt greylisting, dnsbl ja viirtustõrje. 2nd MX seadistamiseks peab tegema kaks muudatust&lt;br /&gt;
&lt;br /&gt;
* nimesüsteemis näitama madalama prioriteediga teise MX aadressi, nt&lt;br /&gt;
&lt;br /&gt;
 # dig imool.org mx | grep ^imool&lt;br /&gt;
 imool.org.                 1682    IN      MX      10 mx-1.imool.org.&lt;br /&gt;
 imool.org.                 1682    IN      MX      20 mx-2.imool.org.&lt;br /&gt;
&lt;br /&gt;
* seadistama 2nd MX Postfixi tegelema kõnealuse domeeni imool.org kirjadega; 1nd MX Postfix juures ei ole vaja teha mingeid muudatusi&lt;br /&gt;
&lt;br /&gt;
2n MX Postfix juures peab kasutama /etc/postfix/main.cf failis selliseid ridu, lubama imool.org kirjade releetamise üldiselt&lt;br /&gt;
&lt;br /&gt;
 relay_domains = /etc/postfix/relay_domainnames&lt;br /&gt;
 ..&lt;br /&gt;
 relay_recipient_maps = hash:/etc/postfix/relay_recipients_by_domains-txt&lt;br /&gt;
&lt;br /&gt;
kus failide sisu on&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/relay_domainnames&lt;br /&gt;
 imool.org&lt;br /&gt;
&lt;br /&gt;
ning&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/relay_recipients_by_domains-txt&lt;br /&gt;
 @imool.org x&lt;br /&gt;
&lt;br /&gt;
ning viimasele failile tuleb moodustada vastav andmebaas&lt;br /&gt;
&lt;br /&gt;
 # postmap /etc/postfix/relay_recipients_by_domains-txt&lt;br /&gt;
&lt;br /&gt;
Muudatuste kehtastamiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
 # systemctl reload postfix&lt;br /&gt;
&lt;br /&gt;
Toodud juhul võtab 2nd MX vastu kõikvõimalikele @imool.org aadressile saadetud kirjad ja püüab võimalusel need edasi saata 1nd MX peale. Tõenäoliselt on palju olematute aadressidega kirju, mille puhul hakkab 2nd MX saatma internetti tagasi vastuseid kohaletoimetamatuse kohta. Sellise olukorra vältimiseks oleks ideaalne kui on 2nd MX peal on kasutada eksisteerivate aadresside nimekiri. Sel juhul saab seda kasutada '@imool.org x' asemel relay_recipient_maps parameetrina, nt&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/relay_recipients_imool.org-txt&lt;br /&gt;
 priit@imool.org x&lt;br /&gt;
 mart@imool.org x&lt;br /&gt;
&lt;br /&gt;
===Return receipt===&lt;br /&gt;
&lt;br /&gt;
Tavaliselt kirja saatja saab öelda oma eposti kliendis standardsel viisil, et kirja saaja saadaks teate kirja kättesaamise kohta. Kirja saaja epostkliendis sellise kirja saamisel tavaliselt avaneb automaatsel täiendav aken ja piisab seal vajutada OK. See info kantakse üle kahe sellise päisega&lt;br /&gt;
&lt;br /&gt;
 Return-Receipt-To: imre@auul.pri.ee&lt;br /&gt;
 Disposition-Notification-To: imre@auul.pri.ee&lt;br /&gt;
&lt;br /&gt;
Täpne olles ei ole see Postfix ega smtp protokolli teema, vaid kahe eposti kliendi vaheline suhtlemine.&lt;br /&gt;
&lt;br /&gt;
===Delivery Status Notification===&lt;br /&gt;
&lt;br /&gt;
SMTP protokolli DSN (Delivery Status Notification) komponendi abil saab meiliklient öelda eposti serverile, et ta tagastaks eposti kirja kujul kirja saatmise edu kohta teate (alternatiiv oleks minna lugema eposti serveri logi). Selle töötamiseks peab kirja vastu võttes postimasin toetama DSN komponenti (EHLO vastuses on see kirjas) ja meiliklient ütlema midagi sellist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
ehlo moraal.moraal&lt;br /&gt;
250-mail.auul.pri.ee&lt;br /&gt;
250-PIPELINING&lt;br /&gt;
250-SIZE 20000000&lt;br /&gt;
250-VRFY&lt;br /&gt;
250-ETRN&lt;br /&gt;
250-STARTTLS&lt;br /&gt;
250-ENHANCEDSTATUSCODES&lt;br /&gt;
250-8BITMIME&lt;br /&gt;
250 DSN&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
MAIL FROM:&amp;lt;imre@auul.pri.ee&amp;gt; RET=HDRS&lt;br /&gt;
...&lt;br /&gt;
RCPT TO:&amp;lt;imre@moraal.ee&amp;gt; NOTIFY=SUCCESS,FAILURE&lt;br /&gt;
....&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
Kui kirja saatja ja lõpp-punkti vahel on mitu smtp serverit, siis teatega vastab viimane DSN komponenti toetav süsteem. Mõnel juhul on see päris sügaval vastuvõtva süsteemi sees töötav postimasin. Kui DSN vastus sisaledab palju infot töötleva süsteemi ja kirja teekonna kohta võib olla hea mõte DSN töötlemine ära lõpetada vastuvõtva süsteemi perimeetril.&lt;br /&gt;
&lt;br /&gt;
Selleks sobib kasutada Postfix seadistuses sellist rida&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/main.cf&lt;br /&gt;
 ..&lt;br /&gt;
 smtpd_discard_ehlo_keyword_address_maps = &lt;br /&gt;
   cidr:/etc/postfix/smtpd_discard_ehlo_keyword_address_maps.txt&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
ja faili /etc/postfix/smtpd_discard_ehlo_keyword_address_maps.txt sisu on&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/smtpd_discard_ehlo_keyword_address_maps.txt sisaldab&lt;br /&gt;
 10.0.6.0/24      silent-discard&lt;br /&gt;
 0.0.0.0/0        silent-discard, dsn&lt;br /&gt;
 ::/0             silent-discard, dsn&lt;br /&gt;
&lt;br /&gt;
 # postmap /etc/postfix/smtpd_discard_ehlo_keyword_address_maps.txt&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* silent-discard on pseudoparameeter, mis tähistab asjaolu, et mitte logida toimuvat&lt;br /&gt;
* 10.0.6.0/24 - sellest võrgust tulevate pöördumisele näidatakse DSN komponenti&lt;br /&gt;
* muudele pöördumistele ei näidata DSN komponenti&lt;br /&gt;
&lt;br /&gt;
DSN kasutamine Roundcube liidesest paistab välja nii, kirja saatmine&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Dsn-1.gif]]&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* kiri saadetakse tavalisel viisil + on märgitud DSN (selle tõttu lisab php rakendus SMTP protokolli rääkides RCPT TO aadressi reale 'NOTIFY=SUCCESS,FAILURE'&lt;br /&gt;
&lt;br /&gt;
ning vastuseks tulnud DSN teatega kiri&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Dsn-2.gif]]&lt;br /&gt;
&lt;br /&gt;
* vastus on tulnud auul.pri.ee domeeni MX arvutilt, kusjuures vastuses ta räägib millisele oma backendile ta kirja edastas (192.168.1.252); tõenäoliselt ei peaks seda vastuvõtja meilisüsteemi infot nii avalikult jagama; ehk oleks mõistlik, kui DSN tagastab kasutajale tema enda postisüsteem&lt;br /&gt;
* see on tavaline nö MAILER DAEMON kiri, tühja mail from ehk return-path aadressiga&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://www.postfix.org/DSN_README.html&lt;br /&gt;
&lt;br /&gt;
===msmtp===&lt;br /&gt;
&lt;br /&gt;
msmtp http://msmtp.sourceforge.net/ tarkvara paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # apt-get install msmtp&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks sobib nt selline seadistusfail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat .msmtprc &lt;br /&gt;
account default&lt;br /&gt;
host 127.0.0.1&lt;br /&gt;
port 25&lt;br /&gt;
logfile /tmp/msmtp.log&lt;br /&gt;
from imre@moraal.ee&lt;br /&gt;
dsn_notify success,failure&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* host - millise smtp serveri kaudu kiri välja saata&lt;br /&gt;
* from - milline on mail from ja header from eposti aadress&lt;br /&gt;
* dns - lülitatakse sisse dsn notify&lt;br /&gt;
&lt;br /&gt;
kirja saatmiseks&lt;br /&gt;
&lt;br /&gt;
 $ echo -e &amp;quot;Subject: Proovi kiri 26\r\n\r\nSee on proovi kirja sisu 26&amp;quot; | msmtp --debug -t imre@auul.pri.ee&lt;br /&gt;
&lt;br /&gt;
===sender-dependent-default-transport-maps===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* https://wied.it/blog/sender-dependent-default-transport-maps-with-postfix-the-easy-way.html&lt;br /&gt;
&lt;br /&gt;
===VERP===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Postfixi läbivate kirjade automaatne arhiivimine===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* The book of Postfix: state-of-the-art message transport (Ralf Hildebrandt, Patrick Koetter) - 2009 aasta seisuga tõenäoliselt parim raamat teemal&lt;/div&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
</feed>