Postfix: Jak sprawić, by aliasy e-mail działały?

11

Dokumentacja twierdzi, że mogę dodać aliasy w pliku (jak / etc / postfix / virtusertable), a następnie użyć do tego celu dyrektywy „virtual_maps”. Nie wydaje się to jednak działać.

Moja poczta odbija się od:

Recipient address rejected: User unknown in local recipient table;

Jeśli wyślę do użytkownika wiadomość e-mail z serwera za pomocą polecenia mail, działa.

mail myuser

Wiadomość przechodzi przez postfiks i poprawnie wstawia się do skrzynki odbiorczej Cyrus.

Gdy używam fetchmaila, aby pobrać wiadomości użytkownika z serwera pop3, postfiks kończy się niepowodzeniem. Adres e-mail użytkownika to „mójużytkownik@moja_domena.com”, ale wydaje się, że nie jest poprawnie odwzorowany na „mój użytkownik”, nazwę skrzynki cyrus.



/etc/postfix/main.cf

moja_nazwa_hosta = lokalny_host
alias_maps = hash: / etc / aliases
alias_database = hash: / etc / aliases
myorigin = / etc / mailname
mydestination = localhost
przekaźnikhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
mailbox_transport = lmtp: unix: / var / run / cyrus / socket / lmtp
#lmtp: unix: / var / run / lmtp
virtual_alias_domains = mojadomena.com
virtual_maps = hash: / etc / postfix / virtusertable



/ etc / fetchmailrc

i syslog;
ustaw demona 20;

sondaż „mail.pop3server.com”
z protokołem pop3
użytkownik „[email protected]” hasło „12345” to „myuser”
Fetchall Keep



/ etc / postfix / virtusertable

[email protected]     myuser



postconf -n

alias_database = hash: / etc / aliases
alias_maps = hash: / etc / aliases
append_dot_mydomain = no
biff = nie
config_directory = / etc / postfix
inet_interfaces = all
mailbox_size_limit = 0
mailbox_transport = lmtp: unix: / var / run / cyrus / socket / lmtp
mydestination = localhost 
moja_nazwa_hosta = lokalny_host
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
myorigin = / etc / mailname
readme_directory = no
recipient_delimiter = +
przekaźnikhost = 
smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache
smtpd_banner = $ moja_hosta ESMTP $ nazwa_ mailowa (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache
smtpd_use_tls = tak
virtual_alias_domains = mojadomena.com

Dlaczego ignoruje mój alias?

Nacięcie
źródło

Odpowiedzi:

19

Wchodzą lokalne aliasy

alias_database = hash:/etc/aliases(nie w /etc/postfix/virtusertable) w następującym formacie:

alias: destination. Po tym biegu newaliases.

solefald
źródło
Dostaję ostrzeżenie: „ostrzeżenie: / etc / aliases, wiersz 3: nazwa musi być lokalna”. Dodałem wpis „użytkownik@moja_domena.com: użytkownik” do pliku / etc / aliases. użytkownik nie jest użytkownikiem komputera, to skrzynka / użytkownik Cyrus.
Nick
2
Nie, poprawny format to użytkownik: [email protected], localuser
David Rickman
Ok, zmieniłem format i ostrzeżenie zniknęło, ale poczta nadal się odbija. Otrzymuję komunikat „550-Mailbox nieznany”.
Nick
Wygląda na to, że Fetchmail przyjmuje wiadomość i próbuje wysłać ją do Cyrusa, ale teraz Cyrus ją odbija. Myślę, że postfiks nie wysyła go z odpowiednim aliasem? A może Cyrus potrzebuje własnej tabeli aliasów?
Nick
Oznaczę to jako rozwiązane i utworzę nowe pytanie dotyczące problemu Cyrus, ponieważ technicznie jest to inne pytanie.
Nick
0

Właśnie natknąłem się na ten problem ... i okazało się, że dość dziwnie mój problem nie był związany z cyrkiem ...

ponieważ mogłem dostarczać bezpośrednio, w tym adresy „+”, ale adresy aliasowane były odrzucane ... FYI znalazłem, że adresy aliasów były przepisywane [myalias] stał się [[email protected]]

więc dopóki nie wymyślę, jak wyłączyć rozszerzenie lub zmienić go, aby upuścić [myhost] obejściem było rozwinięcie pliku aliasów [[email protected]] zamiast [myalias] w końcu natknąłem się na niego, gdy w końcu zauważyłem dziennik z nazwą FQDN zamiast samej domeny, do której przywykłem w sendmailu.

Robert
źródło