Kiedy próbuję wysłać wiadomość e-mail na moim serwerze Postfix na adres w tej samej domenie (na przykład, jeśli nazwa hosta serwera to mail.example.com i próbuję wysłać wiadomość e-mail na adres [email protected]), otrzymuję następujący błąd w dzienniku i e-mail nie zostanie dostarczona: Recipient address rejected: User unknown in local recipient table
. Jeśli wyślę na adres w innej domenie, nie mam żadnych problemów. Oto mój plik /etc/postfix/main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = mail.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#myorigin = /etc/mailname
myorigin = $mydomain
mydestination = $mydomain, localhost.$mydomain, localhost
relayhost =
#fake IP address
mynetworks = 127.0.0.0/8 100.837.191.223
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
email
postfix
email-server
Tai Squared
źródło
źródło
mail.example.com
jako rekord MX? Czy ten serwer jest naprawdęmail.example.com
?Odpowiedzi:
Wiem, że to pytanie jest trochę stare, więc zakładam, że odpowiedź na nie jest zadowalająca.
Właśnie miałem ten sam problem i zajęło mi trochę czasu, aby dowiedzieć się, co się dzieje. Myślę, że moja sytuacja była taka sama jak w pierwotnym pytaniu.
Postfix powinien przekazywać całą pocztę do innych serwerów w Internecie, w rzeczywistości nie odbiera poczty dla żadnych domen. Tak więc każda poczta wysyłana do example.com powinna być przekazywana na serwer pocztowy example.com. Rozwiązaniem, jak wyjaśniono technicznie, jest usunięcie $ mydomain z linii:
Ta linia mówi postfiksowi, że wszelkie wiadomości wysyłane do $ moja_domena mają być odbierane i przechowywane na tym serwerze. Nie tego chcę, chcę, aby te wiadomości były wysyłane do rzeczywistego serwera pocztowego na przykład.com. Gdy zdałem sobie z tego sprawę i usunąłem example.com, poczta działała zgodnie z oczekiwaniami. Zaryzykuję, że to wyjaśnienie pomaga komuś, kto natknie się na to pytanie w przyszłości.
źródło
Błąd jest dość samoopisowy: docelowej nazwy użytkownika e-maila (po lewej stronie znaku @) nie można zmapować na lokalnego użytkownika w systemie (domyślne ustawienia Postfiksa) ani na domenę wirtualną (ponieważ żadna nie jest skonfigurowana poza pudełko). Decyzja o próbie wykonania tego mapowania jest kontrolowana przez listę domen w „mydestination” (plus wszelkie domeny wirtualne). Jeśli ten komputer jest w rzeczywistości podstawowym MX domeny, nieistniejący użytkownicy mają uszkodzoną pocztę. Jeśli to pole musi tylko wysyłać wiadomości wychodzące, wystarczy po prostu usunąć domenę docelową z mojej lokalizacji (poprzez usunięcie $ mydomain z listy) - nadal będzie akceptować wiadomości bezpośrednio dla [email protected], ale wiadomości dla użytkownika @ domain.tld przejdzie proces wyszukiwania MX w celu dostarczenia gdzie indziej.
źródło
Gdy wysyłasz wiadomość do domeny lokalnej, postfix odpowiada za sprawdzenie, czy adresat istnieje. Gdy wysyłasz wiadomość e-mail do innej domeny, postfix nie ponosi takiej odpowiedzialności.
Musisz mieć lokalnego użytkownika o nazwie test
lub potrzebujesz aliasu od testu do lokalnego użytkownika w / etc / aliases
I powinieneś być gotowy.
źródło
Mam więc podobny problem i jeszcze go nie rozgryzłem, ale powinno to poprowadzić cię we właściwym kierunku:
http://www.postfix.org/STANDARD_CONFIGURATION_README.html
Spójrz na sekcję „Postfix na zerowym kliencie” - myślę, że tego właśnie chcesz. Próbowałem także ustawić ustawienie local_recipient_maps, jak określono w witrynie Postfix na stronie: LOCAL_RECIPIENT_README.html
Oba linki powinny robić to, o co tu chodzi, ale nie mogę ich zmusić do działania. Kiedy wykonuję pełną konfigurację klienta o wartości NULL, próba telnet w celu wysłania testowego e-maila SMTP nie działa. Pojawia się komunikat „telnet: połącz z adresem 97.74.92.30: Połączenie odrzucone”. Podczas ustawiania lokalnej mapy adresatów wyszukiwanie w komendzie RCPT TO: nie wyświetla komunikatu o błędzie, jak to było wcześniej, ale po wysłaniu wiadomości e-mail (wygląda normalnie) wiadomość e-mail nie jest wysyłana, a maillog zawiera błąd:
„Nieznana skrzynka pocztowa 550. Albo żadna skrzynka pocztowa nie jest powiązana z tą nazwą 550, albo nie masz uprawnień do jej wyświetlenia. 550 5.1.1 Użytkownik nieznany”
Daj mi znać, jeśli masz więcej szczęścia.
źródło