pengembangan-web-mp-pd.com

Bagaimana cara memperbaiki Postfix '' Relay Access Denied '?

Pagi ini, untuk memperbaiki masalah dengan ketidakcocokan nama dalam sertifikat keamanan, saya mengikuti langkah-langkah yang disarankan dari Bagaimana cara memperbaiki server mail SSL?, tetapi sekarang, ketika mencoba mengirim email dari klien (dalam hal ini klien adalah Windows Mail), saya menerima kesalahan berikut.

Alamat surel yang ditolak adalah '[email protected]'. Subjek 'Ini adalah ujian. ', Akun:' mail.domain.com ', Server:' mail.domain.com ', Protokol: SMTP, Server Tanggapan:' 554 5.7.1: Akses relai ditolak ', Port: 25, Aman (SSL): Tidak , Kesalahan Server: 554, Nomor Kesalahan: 0x800CCC79

Edit: Saya masih dapat mengambil email dari akun ini, dan saya mengirim email ke akun lain di domain yang sama. Saya tidak bisa mengirim email ke penerima di luar domain kami.

Saya mencoba menonaktifkan TLS sama sekali tetapi tidak ada dadu, saya masih mendapatkan kesalahan yang sama.

Ketika saya memeriksa file mail.log, Saya melihat yang berikut ini.

Jul 18 08:24:41 company imapd: LOGIN, [email protected], ip=[::ffff:111.111.11.11], protocol=IMAP
Jul 18 08:24:42 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=0, body=0, rcvd=83, sent=409, time=1
Jul 18 08:25:19 company postfix/smtpd[29282]: connect from company.university.edu[111.111.11.11]
Jul 18 08:25:19 company postfix/smtpd[29282]: NOQUEUE: reject: RCPT from company.university.edu[111.111.11.11]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<UserPC>
Jul 18 08:25:19 company postfix/smtpd[29282]: disconnect from company.university.edu[111.111.11.11]
Jul 18 08:25:22 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=13, body=142579, rcvd=3289, sent=215892, time=79

File main.cf terlihat seperti ini:

#
# Postfix MTA Manager Main Configuration File;
#
# Please do NOT edit this file manually;
#

#
# Postfix directory settings; These are critical for normal Postfix MTA functionallity;
#

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

#
# Some common configuration parameters;
#

inet_interfaces = all
mynetworks = 127.0.0.0/8
mynetworks_style = Host

myhostname = mail.domain.com
mydomain = domain.com
myorigin = $mydomain

smtpd_banner = $myhostname ESMTP 2.4.7.1 (Debian/GNU)
setgid_group = postdrop

#
# Receiving messages parameters;
#

mydestination = localhost, company 
append_dot_mydomain = no
append_at_myorigin = yes
transport_maps = mysql:/etc/postfix/transport.cf

#
# Delivering local messages parameters;
#

mail_spool_directory = /var/spool/mail
mailbox_size_limit = 0
mailbox_command = procmail -a "$EXTENSION"

biff = no

alias_database = hash:/etc/aliases

local_recipient_maps =

#
# Delivering virtual messages parameters;
#
virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf
virtual_uid_maps=mysql:/etc/postfix/uids.cf
virtual_gid_maps=mysql:/etc/postfix/gids.cf
virtual_mailbox_base=/usr/local/virtual
virtual_maps=mysql:/etc/postfix/virtual.cf
virtual_mailbox_domains=mysql:/etc/postfix/virtual_domains.cf


#
# SASL paramters;
#
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s

smtp_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtp_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtp_tls_key_file = /etc/postfix/ssl/smptd.key

smtpd_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smptd.key

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_sasl_local_domain =

broken_sasl_auth_clients = yes

smtpd_sender_restrictions =
        permit_sasl_authenticated
        permit_mynetworks

smtpd_recipient_restrictions =
        permit_sasl_authenticated
        check_recipient_access hash:/etc/postfix/filtered_domains
        permit_mynetworks
        reject_unauth_destination

Sebagai catatan tambahan, majikan saya ingin dapat mengirim email dari klien (Thunderbird dan Outlook) baik dari dalam jaringan lokal kami dan di luarnya.

59
Noah Goodrich

TLS hanya mengaktifkan enkripsi pada sesi smtp dan tidak secara langsung mempengaruhi apakah atau tidak Postfix akan diizinkan untuk menyampaikan pesan.

Pesan ditolak relai terjadi karena aturan smtpd_recipient_restrictions tidak cocok. Salah satu syarat tersebut harus dipenuhi untuk memungkinkan pesan melalui:

smtpd_recipient_restrictions =
    permit_sasl_authenticated
    check_recipient_access hash:/etc/postfix/filtered_domains
    permit_mynetworks
    reject_unauth_destination

Untuk menjelaskan aturan-aturan itu:

permit_sasl_authenticated

mengizinkan pengirim yang diautentikasi melalui SASL. Ini akan diperlukan untuk mengautentikasi pengguna di luar jaringan Anda yang biasanya diblokir.

check_recipient_access

Ini akan menyebabkan postfix mencari di/etc/postfix/filtered_domains untuk aturan berdasarkan alamat penerima. (Dilihat dari nama file pada nama file, itu mungkin hanya memblokir domain tertentu ... Periksa untuk melihat apakah gmail.com terdaftar di sana?)

permit_mynetworks

Ini akan mengizinkan host berdasarkan alamat IP yang cocok dengan rentang IP yang ditentukan dalam $ mynetworks. Di main.cf yang Anda posting, $ mynetworks diatur ke 127.0.0.1, jadi itu hanya akan menyampaikan email yang dihasilkan oleh server itu sendiri.

Berdasarkan konfigurasi itu, klien email Anda harus menggunakan Otentikasi SMTP sebelum diizinkan untuk menyampaikan pesan. Saya tidak yakin apa yang digunakan database SASL. Itu ditentukan di /usr/lib/sasl2/smtpd.conf Agaknya ia juga menggunakan database yang sama dengan kotak surat virtual Anda, jadi Anda harus dapat mengaktifkan otentikasi SMTP di klien email Anda dan siap.

60
Brandon
smtpd_use_tls = no

Anda telah menonaktifkan TLS, jadi sekarang Anda perlu mengotorisasi jaringan lokal Anda dengan menambahkannya ke mynetworks. Sebagai contoh,

mynetworks = 192.168.1.0/24 127.0.0.0/8

Ini akan memperbaiki pengiriman dari jaringan lokal Anda saja. Untuk mengirim email dari luar jaringan lokal Anda, Anda harus mengaktifkan otentikasi TLS.

15
pgs

Saya pikir Anda merindukan Anda domain.com di mydestination, karena default relay_domains=$mydestination, sehingga Anda dapat menambahkan konfigurasi baris:

mydestinations = $mydomain, $myhostname, localhost, localhost.localdomain

atau:

relay_domains = $mydomain

Jangan lupa me-restart server postfix (service postfix restart) setiap kali Anda mengedit file conf postfix.

6
Dzung Nguyen

Saya memiliki masalah yang sama di Outlook (dengan dovecote dan postfix backend) dan saya menghabiskan dua hari mencari solusi dan men-tweak file konfigurasi saya. Yang perlu saya lakukan adalah memeriksa "Server memerlukan otentikasi" di tab Keluar dalam pengaturan email di Outlook dan pesan saya sekarang dikirim ke gmail. Lihat instruksi terperinci tentang cara menemukan pengaturan di sini http://support.bluetie.com/node/44 .

2
Dee

Masalah ini mengganggu saya untuk sementara waktu. Saya mencoba untuk terhubung dari server1.domain.com ke server2.domain.com.

Begini cara saya memperbaikinya -

#/etc/postfix/main.cf
mydomain = server1.domain.com
myhostname = $mydomain
virtual_alias_maps = hash:/etc/postfix/virtual
alias_database = hash:/etc/postfix/virtual
myorigin = /etc/mailname
mydestination = localhost.localdomain localhost $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Anda juga perlu memastikan bahwa Anda telah mengatur/etc/hosts dan/etc/hostname dengan benar dan memastikan bahwa Anda menjalankan yang berikut setelah perubahan jaringan -

Sudo service networking restart

dan berikut ini setelah perubahan konfigurasi postfix

Sudo service postfix reload
2
A23

Bagi saya: Saya harus menambahkan localhost ke mynetworks terlepas dari kenyataan 127.0.0.0/8 sudah ada di sana. Jadi, sekarang tampilannya:

mynetworks = 1.1.1.1/32, 127.0.0.0/8, localhost

0
Putnik