Oto kilka pomysłów, które będą wymagać pewnych dostosowań, aby spełnić Twoje dokładne potrzeby. Pierwszą rzeczą, którą znalazłem, było to, że Postfix nie lubi robić nic z adresami, które są aliasami (tj. virtual_alias_domain
/ virtual_alias_maps
). Ale to dobrze, ponieważ w rzeczywistości nie ma znaczenia, jak te adresy są nazywane, o ile wszystko ostatecznie zostanie poprawnie dostarczone.
Zatem w Postfix main.cf
dodaj następujące wiersze:
virtual_mailbox_domains = example.org
# Feel free to give munger a better name, just update master.cf appropriately
virtual_transport = munger:
Następnie musisz powiedzieć Postfix, co munger
tak naprawdę znaczy. Dodaj następujące elementy (patrz rura (8), aby uzyskać więcej opcji). Dodaj więc następujące elementy master.cf
:
munger unix - n n - - pipe
flags= user=nobody argv=/usr/bin/redirector
Zgodnie z powyższym wszystko, do czego example.org
zostanie przeznaczone, zostanie wysłane do /usr/bin/redirector
programu (lub jakkolwiek chcesz to nazwać). W przypadku większości normalnych rzeczy potrzebne są argumenty wiersza poleceń dla informacji o nadawcy / odbiorcy (ponownie, pipe(8)
ma więcej szczegółów), ale ponieważ adresy nadawcy i odbiorcy są ustalone, nic więcej nie jest potrzebne w wierszu poleceń.
Teraz wystarczy napisać redirector
program. To działało dla mnie:
#!/bin/sh
/usr/sbin/sendmail -bm -f 'something@myserver' 'something@gmail.com'
Jest to zwykły skrypt powłoki (lub wybrany przez Ciebie język), więc uczyń go tak prostym lub złożonym, jak chcesz.