Postfix ile farklı smtp sunucusuna proxy posta


11

Alıcı adresine bağlı olarak postayı farklı smtp sunucularına nasıl yönlendirebilirim (veya proxy) yapabilirim?

25 numaralı bağlantı noktasını dinleyen bir SMTP (postfix) sunucusuna sahip bir makinem var. Gelen postaları ve işlemek için postfix kullanmak istediğim bazı postaları işlemek için Lamson ( http://lamsonproject.org/ ) kullanmak istiyorum.

Benim fikrim Lamson'u farklı bir limanda dinleyecek şekilde ayarlamak, diyelim localhost: 10025. Daha sonra 25 numaralı bağlantı noktasını dinleyerek tüm postaları yakalamak için postfix'i ayarladım.

Postfix'i belirli postaları 10025'te Lamson'a proxy yapacak ve diğer tüm postaların kendisini işleyecek şekilde nasıl yapılandırırım?

Yanıtlar:


18

Postfix, yapılandırmasında son derece esnektir (ve bu nedenle karmaşıktır), bu nedenle bunu başarmanın çeşitli yolları vardır. En basit yol muhtemelen bir transport(5)tablo kullanmak olacaktır .

İlk olarak, postfix'de aktarım tablosu kullanımını etkinleştirin:

/etc/postfix/main.cf:
    transport_maps = hash:/etc/postfix/transport

Ayrıca Postfix'in Lamson tarafından işlenecek adresler için posta kabul ettiğinden emin olmanız gerekir. permit_auth_destinationGeçerli alıcı adreslerini belirlemek için Postfix'in uygulanacağı kurallara bakın . Aşağıdaki örnekte, "example.com" ifadesinin Postfix tarafından başka şekilde bilinmeyen bir alan olduğu varsayılırsa, bunu yalnızca alan adı olarak eklemek en kolay yöntemdir:

/etc/postfix/main.cf:
    relay_domains = example.com

Ardından, uygun bir tablo oluşturun. Örneğin, "example.com" alan adındaki tüm postaların yanı sıra "user@mydomain.org" alan adındaki postaları 10025 numaralı bağlantı noktasında dinleyen yerel Lamson'unuza yönlendirmek için:

/etc/postfix/transport:
    example.com          smtp:127.0.0.1:10025
    user@mydomain.org    smtp:127.0.0.1:10025

Bundan sonra (ve sonra taşıma tablosu dosyasına yapılan her güncellemeden sonra) çalıştırmayı unutmayın:

$ postmap /etc/postfix/transport

Bu seni harekete geçirmeli. transport(5)Bu güçlü tesisin nasıl kullanılacağı hakkında size daha fazla fikir verecek man sayfasını okuduğunuzdan emin olun .


Merhaba, bahşiş için teşekkürler. Talimatlarınızı izledikten sonra postayı iletme konusunda hâlâ sorun yaşıyorum. NOQUEUE alıyorum: Reddet: RCPT {my-mail-relay} Alıcı adresi reddedildi: Yerel alıcı tablosunda bilinmeyen kullanıcı. Herhangi bir fikir?
Mattias

Ah evet, ayrıca Postfix'in example.com'a gönderilecek postaları kabul ettiğinden de emin olmalısınız (Postfix'in Lamson için geçiş görevi yaptığı için). Postfix'iniz başka bir alan adına hizmet veriyorsa, bunu yapmanın en kolay yolu "Lamson alan adını" eklemektir relay_domains. Bunu dahil etmek için cevap güncelledim.
erken

1
Teşekkürler, adımlarınızı takip ettikten sonra, localhost'u geçerli bir ana bilgisayar olarak tanımak için hala postfix alıyorum. Postconf -e 'smtp_host_lookup = dns, yerli' komutunu çalıştırdım ve sorunumu çözdü, postfix şimdi Lamson'a istediğim postayı iletiyor.
Mattias

1
İşe yaradığını duymak güzel. Yerine değişen smtp_host_lookup, ayrıca kullanabilirsiniz 127.0.0.1yerine localhost. Bu gelişmeyi karşılamak için cevabı güncelledim.
earl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.