Virtuálne domény používajúce GNU pop3d a Postfix
GNU pop3d 0.10.3
GNU pop3d 0.10.3 je pripravený. Môžete si ho stiahnuť tu GNU pop3d 0.10.3
ZMENY/HISTÓRIA
12/Máj/2017 0.10.3 Jørgen Thomsen bugs@jth.net, http://jth.net/virtual.html
Nové funkcie
———————
Zakázať stav: podpora hlavičky (RFC 2076)
Pridaný parameter s- k prihlasovaciemu užívateľskému menu (pozri súbor README)
22/Mar/2014 0.10.2 Jørgen Thomsen bugs@jth.net, http://jth.net/virtual.html
Nové funkcie
——————
Podpora protokolu IPv6 s konfiguráciou – disable – ipv6 a pri runtime –ipv6
Podpora POP3S s –enable-pop3s
Inštaluje pracovnú konfiguráciu xinetd pomocou stunnel vč. Vzorový certifikát a kľúč
Predpoklad: nainštalovaný xinetd a stunnel
Podpora pre zašifrované heslá (vo formáte C crypt) vo virtuálnych doménach (bez APOP)
Podpora spustenia démonov rozšírená –enable-service = SERVICE
teraz podporuje konfiguráciu pre sysvinit, init, event.d, systemd a single user inetd, xinetd (pravdepodobne nie dokonale :)) Skontrolujte inštaláciu)
Inštalačný root môže byť zadaný počas konfigurácie – enableable-rootdir = DIR, rovnako ako podľa inštalácie ROOT = DIR
Pridaná funkcia odinštalovania
Program pop3client.pl pre jednoduché testovanie a stresové testovanie pop3 servera
Mkpwd.pl na vytváranie a / alebo šifrovanie hesiel pre virtuálne domény kompatibilné s glibc crypt ()
Kill -SIGUSR2 zobrazí niekoľko stavových premenných v syslog
Daemon: počet zobrazení a počet aktívnych detí, hodnota príznaku určenia vlajky a počet relácií, ktoré boli doteraz.
Dieťa: zobrazuje použitý čas a povoľuje používateľovi pripojenú z adresy IP
Zmeny
——–
extra.c / pop3_syslog sa teraz môže prihlásiť do STDERR (debug = 0x1yy).
Jednotlivé priority syslog sa uchovávajú v pop3_syslog.
Viac protokolovania cez pop3_syslog.
Znížené používanie rutín knižnice v pop3_syslog na zlepšenie stability.
Zastaralé gethostbyname a gethostbyaddr nahradené pomocou getaddrinfo a getnameinfo
inet_ntoa nahradený inet_ntop
1 sekundové oneskorenie pre vrátenie služby BAD LOGIN na odradenie robotov pri kontrole slabých hesiel.
Pomocné texty sú vyčistené a vylepšené.
Vylepšený inštalačný skript
- zaobchádzanie s ďalšími démonovými štartovacími systémami
- konfigurácia pop3s pomocou stunnel + xinetd
- špecifikácia inštalačného koreňového adresára
- podpora protokolu IPv6
- brána firewall brány firewall je podporovaná
- funkcia odinštalovania
Prosím, dbajte na to, že testovanie inštalácie bolo vykonané len v Linux Fedora 12, 15, 18, 20, takže nemusí byť perfektné vo všetkých prípadoch.
Keďže GNU-pop3d je iba jeden program bez požadovaných konfiguračných súborov, môže byť ručne umiestnený v adresári / usr / local / sbin / gnu-pop3d a vstúpili do štartovacieho skriptu vašich systémových služieb
MD5 kód aktualizovaný (Gray Watson) pridaním podpory pre veľký / malý endian
Najnovšie verzie GNU config.guess a config.sub sú nainštalované.
Chyby boli odstránené
—————————
Robustnejšia správa detí (zaneprázdnený server, útoky DoS).
Nedávne zmeny v funkciách kryptu alebo strcmp spôsobili v určitých prípadoch nekonečnú slučku pri prihlasovaní.
Prihlásenie pomocou odcudzeného šifrovaného hesla vo virtuálnych doménach zabránené.
07/Feb/2011 0.9.13 Jørgen Thomsen jth@jth.net, http://jth.net
Záznamy Syslog z rutiny spracovania signálov pop3_signal spôsobili zavesenie procesov, najmä počas útokov DoS alebo mnohých súčasných klientov. Čiastočne opravená (môže sa vyskytnúť aj pri použití tohto bitu (08) v maske ladenia)
Bugfix: niektoré prihlasovacie metódy nefungovali (David B. Cortarello)
Globálne podriadené počítadlo child_procs sa zmenilo z int na volatile sig_atomic_t, aby sa znížila možnosť nie je správne aktualizovaná.
Počítadlo nebolo vždy znižované, takže program používal iba jednu inštanciu, keď bolo max. Dieťa boli nesprávne dosiahnuté.
Najnovšie verzie GNU config.guess a config.sub sú nainštalované.
Makefile.in a configure.in vylepšené a podpora pre detekciu procesorov Atom pridané a viac podpory pre
Inštalácia služby (/etc/init)
Adresár RFC odstránený ako RFC je ľahko dostupný na internete
26/Apr/2010 0.9.12 Jørgen Thomsen jth@jth.net, http://jth.net
Možné dvojité bez premennej mena poštovej schránky v špeciálnych chybových situáciách, napr. Pri dvoch súčasných prihláseniach na rovnakej poštovej schránky.
Config.guess a config.sub chýbajú z distribúcie
Pridala sa do syslog spúšťacia správa
18/Apr/2010 0.9.11 Jørgen Thomsen jth@jth.net, http://jth.net
Program je udržiavaný na platforme Linux Fedora bez možnosti testovania na iných platformách, ale s cieľom vyhnúť sa špecifickým funkciám systému Linux.
Vylepšenia konfiguračného skriptu vrátane 64-bitovej podpory procesora.
Algoritmus Nagle (TCP No Delay) bol zakázaný, čo spôsobilo veľké zlepšenie rýchlosti.
SO_REUSEADDR bol pridaný do démonovej zásuvky pre okamžité opätovné použitie socketu po reštarte.
Manipulácia so signálom sa zlepšila, aby bola prenosnejšia (sigaction) a nebezpečné hovory boli odstránené z obsluhy signálu. Ukončenie po signáli by teraz malo byť oveľa lepšie, nechať opúšťať poštové schránky.
*chyba* premenná ponožky v dieťati bola vždy -1 a nie aktuálna zásuvka (sock2), takže pop3_signal u dieťaťa neuzavrel zásuvku. Odstránené volania synchronizácie () ako napr. Kopírovanie veľkých súborov na disk USB by spôsobilo zablokovanie, kým nebudú všetky údaje zapísané na disk (niekoľko minút)
Podmienená kompilácia výkazov ladenia odstránená ako režijné náklady je taká malá. Parameter ladenia bol zmenený na bitovú masku s 2 hexami (deti, démon) a ďalšie boli vložené vyhlásenia o ladení.
MAXHOSTNAMELEN sa zvýšil na 128 kvôli názvom domén IDNA
Súbor gnu-pop3d pre /etc/event.d súčasťou balenia
Manuálová stránka bola aktualizovaná
18/Júl/2007 0.9.10 Jørgen Thomsen jth@jth.net, http://jth.net
fcntl lock on mailbox zmenený na lock lock
sync() sa vždy vyzve pri odomknutí
čítať dáta od klienta, keď je povolený časový limit (výber) teraz skontroluje,
ak klient náhle zmizne.
Keď bola schránka skopírovaná do novej poštovej schránky, niektoré MTA (e, g, postfix) môžu pokračovať v písaní na starú poštovú schránku.
Prázdna stará schránka sa teraz uchováva ako mailbox.old a zlúčila sa s novou, ak nie je prázdna pri ďalšom spustení.
24/Aug/2003 0.9.9-5 Jørgen Thomsen jth@jth.net, http://jth.net
Skúška riadkov hlavičky nebola dostatočne prísna Stav: a X-Stav: považovaný za rovnocenný (Jem Berkes)
Príkazové riadky neboli zostavené do jedného riadku, ak boli prijaté ako samostatné pakety TCP (Nicolas Gregoire)
18/Ján/2003 0.9.9-4 Jørgen Thomsen jth@jth.net, http://jth.net
Podpora pre riadok hlavičky Postfix X-Original-To: pre oznámenie o zverejnení správ.
Výpočet UIDL už nebude obsahovať X-headerlines, pretože môžu byť pridaní niektorými mailreadery.
‘%’ Je povolené ako oddeľovač namiesto @ vo virtuálnom používateľskom meno (e-mailovej adrese)
Menšie interné zmeny.
Dodatočná podpora virtdomain.pl autorom (ako nájsť schránku)
18/Okt/2002 0.9.9-3 Jørgen Thomsen jth@jth.net, http://jth.net/
Opravená chyba, keď chybná schránka neobsahovala ako prvú riadku znak “Od”.
05/Sep/2002 0.9.9-2 Jørgen Thomsen jth@jth.net, http://jth.net/
Oprava úplného disku zabránila zapísaniu zmenenej poštovej schránky do súboru .new. Bolo zachované nezmenené
04/Sep/2002 0.9.9-1 Jørgen Thomsen jth@jth.net, http://jth.net/
Ak sa poštová schránka neskončila riadkom (ak došlo k pádu pri písaní správy do nej)
nekonečná slučka nastala. Ak je poštová schránka upravená GNU pop3d, bude opravená.
Keď sa disk zaplnila pri písaní novej poštovej schránky, nebolo detekované a nová poštová schránka bola skrátená
19/Aug/2002 0.9.9 Jørgen Thomsen jth@jth.net, http://jth.net/
Kompatibilita so súbormi passwd vm-pop3d zavedená (nie je úplne testovaná)
Pridaná pôvabná zastávka zachytením signálov (SIGHUP a SIGTERM).
Posledné dotazy a číslo verzie sa zmenili na 0.9.9
19/Okt/2001 Jørgen Thomsen jth@jth.net, http://jth.net/
Oznámenie o postúpení správy (potvrdenie o vrátení správy, RFC 2298)
Pridané možnosti konfigurácie, aby ste vo väčšine prípadov zabránili konfigurácii konfig.h
Zmena aktualizácie poštovej schránky z kopírovania vnútri súboru na vytvorenie nového súboru (mailbox.new)
v prípade potreby a zlepšenie kopírovania vo vnútri súboru. To zlepšuje rýchlosť najmä pre webové poštové programy.
Zavedená podpora pre klasickú riadku Stav: hlavička RFC 2076 (podporovaná napr. Null Webmail
http://nullwebmail.sourceforge.net/)
17/Okt/2001 Jørgen Thomsen jth@jth.net, http://jth.net/
Pridaná stará náplasť pre lepšiu manipuláciu s tvorbou detských procesov a smrťou.
Teraz vytvárajú detské procesy podľa potreby a iba rodičovský proces je trvalý.
VirtDomain 1.05
Webové rozhranie GUI je funkčné pre štandardné virtuálne domény Postfix a pre mojej chuť: jth virtuálne domény. Prichádza ako jeden program Perl, ktorý sa volá z príkazového riadku na vytvorenie virtuálnej domény a z webserveru, aby ju spravoval. Vyžaduje nedávne vydanie Postfix VirtDomain 1.05
#!/usr/bin/perl -w #********************************************************************** # # Utility na správu virtuálnych domén v postfixe (obe štandardné # Ones a tie, ktoré sú definované v http://jth.net/virtual.html) # # Tento program by mal byť umiestnený v /var/www/cgi-bin/virtdomain.pl s globálnym # čítanie a vykonávanie práv (chmod o+rx /var/www/cgi-bin/virtdomain.pl). # # Nezabudnite definovať $main::postfixadmin nižšie! # # Prvý argument programu určuje jeho funkciu: # CREATE: volanie z príkazového riadku ako root: vytvorenie virtuálnej domény aktualizáciou # /etc/postfix/virtual a virtual_regexp # a vytváranie /etc/virtual/domain/passwd a /var/spool/virtual/domain # CREATE & lt; lt domain name & gt; Skutočný používateľ spravujúci doménu & gt; # <passwd> [postfix] # DELETE: volanie z príkazového riadku ako root: vymazanie virtuálnej domény aktualizáciou # /etc/postfix/virtual a virtual_regexp # a odstránenie/etc/virtual/domain/passwd a /var/spool/virtual/domain ako # aj ako .predajné súbory v administrátoroch homedir # DELETE & lt; name domain & gt; Skutočný používateľ spravujúci doménu & gt; & Lt; passwd & gt; # <blank> # MAILBOUNCE # ak je z postfixu vyzvaný ako mail do domény používateľa @ e-mail na STDIN bude spracovaný # podľa nastavenia používateľa v /etc/virtual/domain/passwd. # MAILBOUNCE: odmietnutie e-mailu neznámym používateľom inak uložených v poštovej schránke poštára # <blank> ak sa volá z postfixu ako pošta pre doménu postmaster @ alebo postfixadmin + postmaster & gt; # s predmetom "*** Aktualizácia virtuálnej domény ***" a riadok 1 je trans = UPDATE .... # používateľ bude created/updated/deleted # inak spracujte e-mail ako obvykle # <blank>: ak je volaný z webového servera zobrazuje webové stránky na aktualizáciu používateľa # základ vo virtuálnej doméne e, g, http://jth.net/cgi-bin/virtdomain.pl # # Ako podklad musí byť pre doménu definovaný poštový správca používateľa. # v súbore /etc/virtual/domain/passwd. Používateľské a skupinové identifikátory ako # a homedir od tohto používateľa sa používa pre virtuálnu doménu. # Pre každého virtuálneho používateľa je vytvorený súbor homedir/.forward+user -- domain. # Webový server by mal čítať prístup k týmto súborom rovnako ako # súbor /etc/virtual/domain/passwd. # GNU pop3d deamon, ako som si zachoval, to podporuje # virtuálnej implementácie domény. # # Použitie tohto programu na doručenie pošty pre domény štýlu jth nie je vhodné pre # systém s vysokým objemom, ako nakladanie s tlmočníkom spoločnosti Perl # má pomerne vysoké počiatočné využitie CPU v porovnaní s týmto programom (90% celkového času spustenia). # použitie prostriedkov na zavesenie do iného programu na doručenie pošty # môže byť užitočné. Namiesto toho môže byť použitý nástroj awk virtual.awk # # ©2002 Jørgen Thomsen jth@jth.net, http://jth.net/virtual.html # 1.01 2002-08-22 Úradné vydanie # 1.02 2003-01-24 Podpora pre nové virtual_alias_map parameter a relay_domains správanie # 1.03 2003-04-26 Lepšia jazyková podpora a oprava webovej adresy URL v informáciách # 1.04 2003-05-30 Znaky | a " boli odstránené z dopredných vstupov. Teraz používateľ nesmie vstúpiť |, ale spustite príkazy pomocou " # 1.05 2004-08-06 Zmeny špecifické pre jth.net: /var/www/perl, Pozadie karosérie zmenené, bez použitia CGI # #**********************************************************************
Staré, ale v podstate stále platné
Zmeny v GNU pop3d 0.9.8
(Vrátane niektorých zmien, ktoré sa netýkajú virtuálnych domén, napríklad POP-pred-SMTP)
Na základe vlastných potrieb som vytvoril patch pre GNU-pop3d vers. 0.9.8
Počúval som aj niektoré požiadavky na mailing listu GNU pop3d.
Náplasť môže byť použitá aj vtedy, ak nepotrebujete virtuálne domény.
V podstate som prevzal virtuálnu náplasť od Jeremyho Reeda, urobil to všeobecnejšie a pridal som vlastné GNU pop3d zmeny:
- čo umožňuje používateľom virtuálnej domény byť aj reálnymi používateľmi s poštovými schránkami inde
- pridanie podpory APOP pre používateľov virtuálnej domény
- pridaním predvolenej domény, ktorá sa má zbaviť, ak sa použije pre skutočnú doménu, napr. “Userid@domain.com” -> “userid”
- pridané zaznamenávanie nenulových chybových kódov príkazov
- pridala UIDL komanda poskytujúcu jedinečné identifikátory pre každú správu
- opravený výpočet veľkosti správy
- malý kód vyčistil, najmä uvoľnenie alokovanej pamäte
- j6: pridal “z <IP adresa>” do logmessage “Pripojenie bolo otvorené”
- j7: pridaná nová správa “Authenticated IP <IP adresa>” do maillog pre podporu POP-before-SMTP
- j8: odstránený (komentovaný) maillog msg “Autentifikovaný IP <IP adresa>”
pridané “z <IP adresy>” do logmessage “Používateľ% s prihlásený do poštovej schránky% s” tak, aby bol program Bennett Todd používaný bez modifikácie POP-before-SMTP
Hľadanie poštovej schránky používateľa sa vykonáva ako
- vyhľadávanie MAILSPOOLHOME (napr. /home/user/mail/mailbox)
- vyhľadajte _MAILDIR (napr. /var/mail/user)
- vyhľadávanie VIRTUAL_MAILDIR (napr. / var/spool/virtual/domain/user)
- vzdá sa a používa /dev/null
Patchovanie GNU pop3d
Namiesto toho, aby všetci použili náplasti, urobil som to.
- Stiahnite zdrojový kód gnu-pop3d-0.9.11.tar.gz
- Vytvorte súbor config.h podľa
./configure
alebo
./configure –enable-ip-based-virtual
(tiež nižšie) - Ak je to potrebné/chceme definovať MAILSPOOLHOME (napr. “/Mail/mailbox”) a/alebo DEFAULT_DOMAIN v config.h
- Kompilovať vykonaním make
Technické zmeny
- Formát súboru s virtuálnym doménovým heslom sa rovnal štandardnému formátu súboru /etc/passwd
username:password:user id:(group id):(user name):mailbox directory:(shell)
čo umožňuje kontrolovať príkazom pwck, napr.
pwck -r /etc/virtual/domain.com/passwd
Pole uzavreté v zátvorkách sa nepoužívajú. Adresár schránky by mal byť ‘.’ ak sa nepoužije - Podpora APOP bola vypnutá v distribúcii 0.9.8. Od testu sa znova povoľuje, aby užívateľ APOP nemal povolené používať príkaz USER na prihlásenie. To nie je logické, pretože používatelia môžu používať rôzne poštové programy na kontrolu pošty. Niektoré z nich nemusia podporovať APOP
- Pôvodná virtuálna oprava používa šifrované heslá v súbore passwd. Na podporu APOP z rovnakého súboru sú heslá teraz nešifrované
- Jedinečný identifikátor správy sa vypočíta ako rezim MD5 na začiatočnom riadku “From” a všetky riadky hlavičky vylučujúce potrebu voliteľného Message-ID: -field
- Line dlžka vyrovnávacej pamäte sa zvýšila z 80 na 160 znakov, aby sa vo väčšine prípadov zabránilo čítaniu linky s 2 fgets volaniami. Ľudia, ktorí používajú pomerné písma, môžu ľahko prekročiť 80 znakov/riadok
- Pridalo “UIDL” k funkciám zobrazeným príkazom CAPA
- Pridaná správa “Authenticated IP a.b.c.d” do maillog, rovnako ako adresa IP na “Prichádzajúce pripojenie otvorené” pre podporu POP-before-SMTP
Implementácia virtuálnych domén v Postfixe a GNU pop3d
Dôvod pre nepoužívanie štandardných virtuálnych domén Postfix je dvojitý:
1) táto implementácia sa zameriava na virtuálne domény s každým vlastným správcom
2) nasledujúce obmedzenia (citácia z dokumentácie Postfixu (môj dôraz)):
Tento agent bol pôvodne založený na postfixovom miestnom agentovi. Zmeny pozostávali hlavne z odstránenia kódu, ktorý buď nebol uplatniteľný, alebo v tomto kontexte nebol bezpečný: aliasy, ~user/.forward files, delivery to “|command” alebo do /file/name
Nasledujúci ukazuje jeden spôsob implementácie virtuálnej domény kvt.dk v Postfixe a GNU pop3d.
V systéme bol definovaný skutočný používateľ kvt_dk. Domovský adresár tohto používateľa obsahuje niektoré údaje pre virtuálnu doménu kvt.dk.
Dva používatelia sú definovaní na adrese kvt.dk: abc@kvt.dk (iba virtuálny používateľ) a kvt@kvt.dk (skutočný používateľ kvt_dk na poštovom serveri)
Implementácia je založená na Redhat Linux 7.0
GNU pop3d
Jeremy Reeds pôvodný popis virtuálnej opravy
Virtuálna náplasť preberá nasledujúce štruktúry súborov:
/etc/virtual/<domain>/ heslo pre definíciu používateľov, hesiel a adresára poštových schránok
V tomto príklade vytvorte adresár /etc/virtual/kvt.dk
Predvolená poštová schránka pre virtuálneho používateľa je
/var/spool/virtual/<domain>/<user>
V tomto príklade vytvorte adresár /var/spool/virtual/kvt.dk
Na mojom serveri je pošta uložená v homedir /home/<usr>/Mail/mailbox schránke používateľa, ktorá vyžaduje definíciu MAILSPOOLHOME v config.h.
Mám tiež iba jednu adresu IP a chcem, aby bola moja hlavná doména “jth.net” automaticky odstránená z požiadaviek pošty na GNU pop3d.
Vygeneroval som súbor config.h príkazom
./configure –enable-64bit –enable-maildir -enable-default-domain=jth.net –enable-language=DA
Pred zostavením GNU pop3d som sa uistil, že nasledujúce konštanty boli definované v config.h:
#define MAILSPOOLHOME "/Mail/mailbox"
#define USE_VIRTUAL 1
#define DEFAULT_DOMAIN "jth.net”
/etc/virtual/kvt.dk/passwd
Vytvorte tento súbor s nasledujúcim obsahom
KVT:kvtpasswd:601:100:kvtname:/home/kvt_dk/:
abc:abcpasswd:601:100:abcname:.:
601 je užívateľom užívateľa kvt_dk. 100 je groupid (skupinová pošta na mojom serveri). “.” homedir pre abc je len aby pwck šťastný.
Pošta pre kvt@kvt.dk je doručená do /home/kvt_dk/Mail/mailbox (pozri nižšie).
Pošta pre adresu abc@kvt.dk je doručená na /var/spool/virtual/kvt.dk/abc
Ak dôverujete používateľovi kvt_dk, vytvorte súbor passwd v domovskom adresári užívateľa kvt_dk. A prepojte ho do adresára /etc/virtual/kvt.dk
Ln -s /home/kvt_dk/passwd/etc/virtual/kvt.dk/passwd
Všimnite si, že tu môže byť bezpečnostné riziko, pretože GNU pop3d sa spustí s ľubovoľným užívateľským ID zadaným v súbore passwd. Otázka, či ide o skutočnú hrozbu, je ešte potrebné analyzovať.
Vlastník a povolenia pre súbory a adresáre by mali byť kvt_dk.mail a 700 napr
Chmod 700 /etc/virtual/kvt.dk/etc/virtual/kvt.dk/passwd/var/spool/virtual/kvt.dk
Chown kvt_dk.100 /etc/virtual/kvt.dk/etc/virtual/kvt.dk/passwd/var/spool/virtual/kvt.dk
Postfix
Táto implementácia môže byť zložitejšia ako iné, ale umožňuje rôznym administrátorom každej virtuálnej domény udržiavať všetko v domovskom adresári správcu domény.
/etc/postfix/main.cf
recipient_delimiter = +
home_mailbox = Mail/mailbox
allow_mail_to_commands = forward
allow_mail_to_files = forward
/home/kvt_dk
-rw-r--r-- 1 kvt_dk mail 12 Dec 10 02:52 .forward
-rw-r--r-- 1 kvt_dk mail 25 Dec 10 01:55 .forward+abc--kvt.dk
-rw-r--r-- 1 kvt_dk mail 20 Dec 10 02:53 .forward+kvt--kvt.dk
/home/kvt_dk/.forward
|”exit 67″
Odmietnuť akúkoľvek správu nie pre abc@kvt.dk alebo kvt@kvt.dk
/home/kvt_dk/.forward+abc–kvt.dk
|/usr/local/bin/virtual
Doručte všetku poštu na adresu abc@kvt.dk do schránky virtuálnej domény pre abc, ak chcete zmeniť riadok záhlavia do: na správnu.
/home/kvt_dk/.forward+kvt–kvt.dk
/home/kvt_dk/Mail/mailbox
Doručte všetku poštu kvt@kvt.dk do poštovej schránky kvt_dk
/etc/postfix/virtual
kvt.dk anything
postmaster@kvt.dk postmaster
webmaster@kvt.dk jth
Skutoční používatelia: správca poštových adries a jth musia dostať všetku poštu pre správcu poštovného a správcu virtuálnej domény
/etc/postfix/virtual_regexp
/^(.+)@(.+\.)?(kvt\.dk)$/ kvt_dk+$1–$2$3
Tento výraz spôsobí, že postfix dodá ľubovoľnú poštu s adresami x@kvt.dk a y@z.kvt.dk skutočnému používateľovi kvt_dk, ktorý zachová pôvodného príjemcu obálky ako rozšírenie adresy nového príjemcu.
/usr/local/bin/virtual
awk -F: -f /usr/local/bin/virtual.awk
/usr/local/bin/virtual.awk
# J. Thomsen 2002-04-11 Postfix nástroj
# /usr/local/bin/virtual.awk
#
# Používa spoločnosť Postfix na doručenie pošty do virtuálnej domény GNU-pop3d
# poštová schránka.
#
# Služba Postfix použije tento nástroj na doručenie správy miestnej
# mailová schránka prepísať riadok hlavičky do pôvodného príjemcu
# adresa.
# 2002-04-11 Opravte riadky "Od" v teste msg a pridajte prázdny riadok do správy, aby ste zabezpečili oddelenie správ
#
Doručenie do virtuálnej domény schránky, napr. abc@def.kvt.dk do /var/spool/virtual/kvt.dk/abc.
Hlavička Dodaná-do: je upravená tak, aby obsahovala pôvodnú adresu príjemcu obálky (po prípadnej zmene pomocou aliasov).
Original in English: http://jth.net/virtual.html