Ketika saya mencoba mengirim email di server postfix saya ke alamat di domain yang sama (misalnya, jika nama host server adalah mail.example.com dan saya mencoba mengirim email ke [email protected]), saya mendapatkan berikut kesalahan dalam log dan email tersebut tidak disampaikan: Recipient address rejected: User unknown in local recipient table
. Jika saya mengirim ke alamat di domain lain, saya tidak punya masalah. Ini file /etc/postfix/main.cf saya:
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 kuadrat
sumber
sumber
mail.example.com
sebagai data MX Anda? Apakah server ini benar-benarmail.example.com
?Jawaban:
Saya tahu pertanyaan ini agak lama, jadi saya menganggap sudah dijawab dengan memuaskan.
Saya baru saja mengalami masalah yang sama, dan perlu beberapa saat untuk mencari tahu apa yang sedang terjadi. Saya pikir situasi saya sama dengan pertanyaan awal.
Postfix harus menyampaikan semua email ke server lain di internet, ia sebenarnya tidak menerima email untuk domain apa pun. Jadi setiap email yang dikirim ke example.com harus diteruskan ke server mail untuk example.com. Solusinya, seperti yang dijelaskan oleh b techieb0y, adalah menghapus $ mydomain dari baris:
Baris ini memberi tahu postfix bahwa pesan yang dikirim ke $ mydomain harus diterima dan disimpan di server ini . Bukan itu yang saya inginkan, saya ingin pesan-pesan itu dikirim ke server email yang sebenarnya untuk example.com. Setelah saya menyadari ini, dan menghapus example.com, email berfungsi seperti yang saya harapkan. Saya memposting ini jika penjelasan ini membantu orang lain yang menemukan pertanyaan ini di masa depan.
sumber
Kesalahannya cukup deskriptif sendiri: nama pengguna email target (kiri tanda @) tidak dapat dipetakan ke pengguna lokal pada sistem (pengaturan postfix default), atau ke domain virtual (karena tidak ada yang dikonfigurasikan dari kotak). Keputusan untuk mencoba dan melakukan pemetaan ini dikendalikan oleh daftar domain di 'mydestination' (plus domain virtual apa pun). Jika mesin ini sebenarnya merupakan MX utama domain, maka pengguna yang tidak ada memiliki email yang rusak. Jika kotak ini hanya perlu mengirim pesan keluar, cukup hapus domain target dari mydestination (dengan menghapus $ mydomain dari daftar) sudah mencukupi - ia masih akan menerima pesan secara langsung untuk [email protected], tetapi pesan untuk pengguna @ domain.tld akan melalui proses pencarian MX untuk pengiriman di tempat lain.
sumber
Ketika Anda mengirim pesan ke domain lokal Anda, postfix bertanggung jawab untuk memeriksa apakah penerima ada. Ketika Anda mengirim email ke domain lain, postfix tidak memiliki tanggung jawab seperti itu.
Anda juga perlu memiliki pengguna lokal yang disebut tes
atau, Anda memerlukan alias dari pengujian ke pengguna lokal di / etc / aliases
Anda harus siap.
sumber
Jadi saya mengalami masalah yang sama dan belum mengetahuinya, tetapi ini akan menggerakkan Anda ke arah yang benar:
http://www.postfix.org/STANDARD_CONFIGURATION_README.html
Lihatlah bagian "Postfix on a null client" - Saya pikir itulah yang Anda inginkan. Saya juga mencoba mengatur pengaturan local_recipient_maps seperti yang ditentukan pada situs web postfix di halaman: LOCAL_RECIPIENT_README.html
Kedua tautan harus melakukan apa yang kita cari di sini, tetapi saya tidak dapat membuatnya berfungsi. Ketika saya melakukan pengaturan klien nol penuh, mencoba melakukan telnet untuk mengirim tes email SMTP tidak berfungsi. Saya mendapatkan "telnet: sambungkan ke alamat 97.74.92.30: Sambungan ditolak". Saat mengatur peta penerima lokal, pencarian di perintah RCPT TO: tidak memberikan pesan kesalahan seperti sebelumnya, tetapi setelah mengirim email (terlihat normal), tidak ada email yang benar-benar dikirim, dan ada kesalahan di maillog:
"550-Mailbox tidak diketahui. Entah tidak ada kotak surat yang terkait dengan 550-nama ini atau Anda tidak memiliki izin untuk melihatnya. 550 5.1.1 Pengguna tidak diketahui"
Beri tahu saya jika Anda beruntung.
sumber