Tüm sistemler operasyonel
Connect365
Sorun Giderme· 29 Mayıs 2026

Postfix "Relay Access Denied" Hatası Nasıl Çözülür?

Postfix "Relay Access Denied" Hatası Nasıl Çözülür?

Postfix sunucunuzdan e-posta göndermeye çalıştığınızda 554 5.7.1 Relay access denied hatasıyla karşılaşıyorsanız, sunucunuz yetkisiz bir istemcinin veya etki alanının posta iletmesini engelliyordur. Bu yazıda hatanın kök nedenlerini, log analizini ve adım adım çözüm yöntemlerini ele alacağız.

TL;DR: "Relay access denied" hatası genellikle Postfix'in mynetworks veya relay_domains yapılandırmasından kaynaklanır; istemci IP'sini mynetworks'e eklemek ya da SASL kimlik doğrulamasını etkinleştirmek sorunu çözer.

Hata Nedir ve Neden Oluşur?

SMTP protokolü, RFC 5321'de açık biçimde tanımlanmıştır: bir posta aktarım ajanı (MTA), kendi denetimindeki etki alanları dışındaki alıcılara posta iletmek için ya göndericinin kimliğini doğrulaması ya da göndericinin IP adresini güvenilir ağlar listesinde tutması gerekir. Postfix bu prensibi smtpd_relay_restrictions ve smtpd_recipient_restrictions direktifleriyle uygular.

Hata kodu 554 5.7.1 şu anlama gelir: sunucu isteği kalıcı olarak reddetti ve bu ret, güvenlik politikasından kaynaklanıyor. Kodun ilk rakamı (5) kalıcı bir hata olduğunu, ikinci basamak (5) protokol durumuna işaret ettiğini, üçüncü basamak (4) güvenlik/politika ihlalini gösterir.

Log Analizi: Hatayı Doğrulama

Postfix günlükleri genellikle /var/log/mail.log (Debian/Ubuntu) veya /var/log/maillog (RHEL/CentOS) konumunda bulunur. Hatayı ayırt etmek için şu komutu kullanın:

grep "Relay access denied" /var/log/mail.log | tail -20

Tipik bir log satırı şöyle görünür:

May 29 09:14:22 mailserver postfix/smtpd[12345]: NOQUEUE: reject: RCPT from unknown[203.0.113.45]: 554 5.7.1 <user@example.com>: Relay access denied; from=<sender@external.com> to=<user@example.com> proto=ESMTP helo=<mail.external.com>

Burada dikkat edilmesi gereken alanlar şunlardır: kaynak IP (203.0.113.45), hedef adres ve helo değeri. Bu üç bilgi, sorunun hangi katmanda olduğunu belirlemenizi sağlar.

Başlıca Nedenler ve Çözümleri

1. İstemci IP Adresi mynetworks İçinde Tanımlı Değil

Postfix, mynetworks parametresinde listelenen IP adreslerine veya ağ bloklarına kayıtsız şartsız posta iletme izni tanır. Uygulamanız aynı sunucuda çalışıyorsa 127.0.0.0/8 yeterlidir; ancak farklı bir sunucudan bağlanıyorsanız o IP'yi ya da ağı eklemeniz gerekir.

# /etc/postfix/main.cf
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24

Değişikliği uygulamak için:

sudo postfix reload

2. SASL Kimlik Doğrulaması Yapılandırılmamış

Uzak bir istemcinin (örneğin bir uygulama sunucusu veya mail istemcisi) posta gönderebilmesi için SASL kimlik doğrulaması zorunludur. Postfix, Dovecot SASL veya Cyrus SASL ile entegre çalışabilir. Aşağıdaki main.cf direktifleri temel yapılandırmayı göstermektedir:

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_unauth_destination

3. relay_domains Parametresi Eksik

Sunucunuzun posta kabul etmesi gereken etki alanları mydestination veya relay_domains içinde tanımlı değilse, bu etki alanlarına gelen postalar da reddedilir. Özellikle birden fazla etki alanı barındıran sunucularda bu durum sık karşılaşılır:

relay_domains = example.com, mail.example.com
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

4. smtpd_relay_restrictions Direktifi Hatalı Sırada

Postfix 2.10 ve sonrası sürümlerde smtpd_relay_restrictions direktifi smtpd_recipient_restrictions'dan önce değerlendirilir. Eğer reject_unauth_destination kuralı izin kurallarından önce geliyorsa meşru istekler de reddedilebilir. Doğru sıra:

smtpd_relay_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    defer_unauth_destination

Yapılandırma Parametreleri Özet Tablosu

Parametre Açıklama Örnek Değer Etkisi
mynetworks Kimlik doğrulaması olmadan posta iletebilecek ağ/IP listesi 127.0.0.0/8 192.168.0.0/16 Listelenen ağlardan gelen tüm postalar kabul edilir
relay_domains Postfix'in posta kabul ettiği hedef etki alanları example.com Bu etki alanlarına gelen postalar iletilir
mydestination Sunucunun yerel olarak teslim ettiği etki alanları $myhostname, localhost Bu etki alanları için yerel teslimat yapılır
smtpd_sasl_auth_enable SASL kimlik doğrulamasını etkinleştirir yes Kimlik doğrulayan istemciler relay yapabilir
smtpd_relay_restrictions Relay kısıtlama kuralları listesi (Postfix 2.10+) permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination Relay izin/ret mantığını belirler
smtpd_recipient_restrictions Alıcı bazlı kısıtlamalar reject_unauth_destination Yetkisiz hedefler reddedilir

TLS ve Kimlik Doğrulama Güvenliği

SASL kimlik doğrulamasını etkinleştirirken parolaların şifrelenmeden iletilmesini önlemek kritik önem taşır. RFC 4954 (SMTP Service Extension for Authentication), kimlik bilgilerinin açık metin iletilmesinin yalnızca TLS koruması altında kabul edilebilir olduğunu belirtir. Bu nedenle aşağıdaki yapılandırma eklenmeli:

smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/ssl/certs/mail.crt
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_tls_loglevel = 1
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options = noanonymous

noplaintext seçeneği TLS olmadan düz metin kimlik doğrulamasını engeller; smtpd_sasl_tls_security_options ise TLS bağlantılarında bu kısıtlamayı kaldırarak LOGIN ve PLAIN mekanizmalarına izin verir.

SPF, DKIM ve DMARC ile İlişkisi

"Relay access denied" hatası çoğunlukla Postfix'in iç yapılandırmasından kaynaklanır; ancak bazı alıcı sunucular, gönderim altyapısı doğru yapılandırılmamış postalar için benzer ret mesajları döndürebilir. RFC 7208 (SPF), RFC 6376 (DKIM) ve RFC 7489 (DMARC) standartları, özellikle büyük e-posta sağlayıcıları tarafından sıkı biçimde uygulanmaktadır. Google Postmaster Tools ve Microsoft'un SNDS (Smart Network Data Services) platformu, gönderim sağlığını izlemek için kullanılabilecek resmi araçlardır.

SPF kaydınızı doğrulamak için:

dig TXT example.com | grep spf

DKIM imzasını test etmek için:

opendkim-testkey -d example.com -s mail -vvv

Yapılandırmayı Test Etme

Değişiklikler sonrası Postfix yapılandırmasının sözdizimini doğrulamak için:

sudo postfix check
sudo postconf -n

postconf -n yalnızca varsayılandan farklı olan direktifleri listeler; bu sayede aktif yapılandırmayı hızlıca gözden geçirebilirsiniz. Telnet ile SMTP bağlantısını manuel olarak test etmek de hatanın tam olarak nerede oluştuğunu belirlemenizi sağlar:

telnet mail.example.com 25
EHLO test.example.com
MAIL FROM:<test@test.com>
RCPT TO:<user@example.com>

Sunucu yanıtı 554 5.7.1 ise relay kısıtlaması aktif demektir. 250 2.1.5 Ok yanıtı ise kabul edildiğini gösterir.

Sık Sorulan Sorular

554 5.7.1 Relay access denied hatası tam olarak ne anlama gelir?

Bu hata, Postfix'in göndericiyi güvenilir bulmadığı ve hedef etki alanına posta iletmeyi reddettiği anlamına gelir. "554" kalıcı bir SMTP hata kodudur; "5.7.1" ise RFC 3463'e göre güvenlik/politika ihlalini işaret eden genişletilmiş durum kodudur.

mynetworks'e hangi IP adreslerini eklemeliyim?

Yalnızca gerçekten denetlediğiniz ve güvendiğiniz IP adreslerini ya da ağ bloklarını ekleyin. Uygulama sunucularınızın IP'leri, iç ağ bloklarınız (örneğin 10.0.0.0/8) ve gerekirse belirli harici IP'ler eklenebilir. Asla 0.0.0.0/0 eklemeyin; bu sunucunuzu açık relay haline getirir.

SASL kimlik doğrulaması ayarlandı ama hâlâ hata alıyorum, ne yapmalıyım?

Önce smtpd_relay_restrictions içinde permit_sasl_authenticated kuralının reject_unauth_destination'dan önce geldiğini kontrol edin. Ardından /var/log/mail.log dosyasında "warning: SASL authentication failure" satırlarını arayın. Dovecot SASL socket yolunun (private/auth) doğru yapılandırıldığından ve Dovecot servisinin çalıştığından emin olun.

Postfix versiyonumu nasıl kontrol ederim?

postconf mail_version veya postfix -v 2>&1 | head -1 komutunu çalıştırın. Postfix 2.10 öncesi sürümlerde smtpd_relay_restrictions direktifi mevcut değildir; relay mantığı yalnızca smtpd_recipient_restrictions üzerinden yönetilir.

Hata yalnızca belirli etki alanlarına gönderimde mi oluşuyor?

Bu durum, hedef etki alanlarının relay_domains veya mydestination içinde tanımlanmadığını gösterir. İlgili etki alanını bu parametrelerden birine ekleyin ve sudo postfix reload ile yapılandırmayı yenileyin.

Sunucum açık relay mi oldu, nasıl anlarım?

MXToolbox (mxtoolbox.com) üzerindeki "Open Relay Test" aracını ya da relay-test.mail-abuse.org hizmetini kullanarak sunucunuzu test edebilirsiniz. Açık relay tespit edilirse mynetworks değerini daraltın ve reject_unauth_destination kuralının aktif olduğunu doğrulayın.

Port 25 yerine 587 (submission) kullanmam gerekir mi?

Son kullanıcı mail istemcilerinden gönderim için RFC 6409 (Message Submission for Mail) uyarınca port 587 kullanılması önerilir. Port 587, zorunlu kimlik doğrulaması (SASL) ve TLS ile yapılandırılmalıdır. Postfix'te master.cf dosyasında submission servisi ayrıca tanımlanır.

relay_domains ile mydestination arasındaki fark nedir?

mydestination içindeki etki alanlarına gelen postalar yerel olarak teslim edilir (sunucudaki kullanıcı hesaplarına). relay_domains içindeki etki alanlarına gelen postalar ise başka bir posta sunucusuna iletilir; bu, genellikle bir backup MX veya gateway senaryosunda kullanılır.

Yapılandırma değişikliklerimi Postfix'i yeniden başlatmadan uygulayabilir miyim?

Evet. sudo postfix reload komutu çalışan süreci durdurmadan yeni yapılandırmayı yükler. Yalnızca master.cf değişikliklerinde tam yeniden başlatma (sudo systemctl restart postfix) gerekebilir.

Google veya Microsoft sunucularından "relay access denied" benzeri ret alıyorum, Postfix'te sorun mu var?

Bu durumda sorun büyük olasılıkla Postfix'in iç yapılandırmasında değil, gönderim altyapınızın itibarında veya kimlik doğrulama kayıtlarındadır. SPF kaydınızın (RFC 7208), DKIM imzanızın (RFC 6376) ve DMARC politikanızın (RFC 7489) doğru yapılandırıldığını kontrol edin. Google Postmaster Tools'da etki alanı itibarınızı ve DMARC raporlarını inceleyebilirsiniz.

Kurumsal e-postaya ₺99'a geçin

Reklamsız, KVKK uyumlu; kurulum ve geçiş ücretsiz, mailleri biz taşırız.

📞 0312 434 35 34
Haziran kampanyası

Ücretsiz taşıma kampanyası
tüm e-postalarınızı biz taşıyoruz

₺99/kullanıcı/ay ₺199 %50 indirim

Kurulum + migrasyon ücretsiz. KVKK uyumlu, Türkiye'de barındırma. 7/24 Türkçe destek.

Kampanya 30 Haziran'a kadar geçerlidir.

WhatsApp 0312 434 35 34