Czy możesz przesłać dalej całą wychodzącą wiadomość e-mail na serwer przekazujący, z wyjątkiem lokalnej poczty e-mail użytkownika?

1

W moim domowym pudełku Ubuntu postfix jest skonfigurowany do przekazywania wszystkich wychodzących wiadomości e-mail do outgoing.verizon.net. Niestety obejmuje to lokalną pocztę e-mail użytkownika (np. Z lokalnych zadań Cron do mnie lub ode mnie do siebie), która nie musi podróżować poza maszyną. Czy istnieje sposób na dostosowanie mojej konfiguracji (poniżej), aby dostarczać lokalne wiadomości e-mail bez opuszczania mojego komputera?

Uwaga: Nie uruchamiam serwera poczty (na porcie 25), ale uruchamiam fetchmail co pięć minut, aby pobrać go z serwera IMAP.

main.cf:

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mycomputer.example.com
masquerade_domains = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.localdomain, localhost
relayhost = [outgoing.verizon.net]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtp_sasl_auth_enable = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtpd_sasl_auth_enable = no
DanB
źródło

Odpowiedzi:

0

Postfix będzie tylko przekazywał non-local mails do hosta określonego w relayhost. Aby rozważyć domenę lokalną; domena musi być wymieniona w mydestination parametr. Więc lista example.com pod mydestination powinien pomóc rozwiązać ten problem.

#/etc/postfix/main.cf
#...
mydestination = $myhostname, localhost.localdomain, localhost, example.com
#...

Ref: Dokumenty Postfix

relayhost (default: empty)

The next-hop destination of non-local mail; overrides non-local domains in 
recipient addresses. This information is overruled with relay_transport, 
sender_dependent_default_transport_maps, default_transport, 
sender_dependent_relayhost_maps and with the transport(5) table. 
clement
źródło
Hmm ... Z moją opublikowaną konfiguracją nazwa użytkownika @ localhost zostaje przekazana do serwera przekazywania. Jeśli twoja analiza jest poprawna, czy nazwa użytkownika @ localhost nie powinna być obsługiwana całkowicie lokalnie, ponieważ „localhost” jest wymieniony w mydestination?
DanB
Czy możesz opublikować komunikat generowany przez postfix dla takiej poczty?
clement
Ach, byłem niepoprawny. nazwa użytkownika @ localhost rzeczywiście jest dostarczana lokalnie. Jednak e-mail „tylko nazwa użytkownika” (np. „Echo foo | / usr / bin / mail username”) zostanie dostarczony tak, jakbym wysłał e-mail nazwę uż[email protected].
DanB
Wtedy chyba ur myorigin ma blazemonger.com. Dodaj blazemonger.com do mydestination, aby traktować to lokalne.
clement
To działa! Dziekuję Dziekuję Dziękuję.
DanB