Postfix: Takma ad alanları tam olarak nedir?


12

"Takma ad alan adlarını" başka bir alan adına takma ad olarak anladığımı düşündüm! "İnfo@main.com" gibi bir posta kutusu ayarladığımda ve "main.com" için bir alan takma adı olarak "alias.com" adresini eklediğimde "info@alias.com" adresi de işe yarayacaktır ... Ama hayır !

Bu alanları ekledim:

  • main.com
  • alias.com

Bu posta kutusunu oluşturdum:

  • info@main.com

Sonra bu takma ad alanlarını eşledim:

  • alias.com => main.com

Ve sonra info@alias.com adresine bir posta gönderdiğimde bu hatayı alıyorum:

Recipient address rejected: User unknown in virtual mailbox table (state 13).

Birkaç alanım olduğu için her alan adı için bir takma ad oluşturmak istemiyorum. Ayrıca joker karakter kullanmak istemiyorum (info @ * gibi), çünkü diğer adları olmayan diğer alanlar da varmain.com

Peki ... bunlar tam olarak nedir?


Ben de bu yüzden anlamıyorum hala aynı beklenen ve değil durum.
Josh

Yanıtlar:


4

Açıklama belgelerde yer almaktadır: http://www.postfix.org/VIRTUAL_README.html#virtual_alias

"Takma ad posta kutuları" olarak da adlandırılırsınız: virtual_mailbox_alias ve virtual_mailbox_maps ama "takma ad alan adları" hakkında konuşun: http://www.postfix.org/ADDRESS_CLASS_README.html#virtual_alias_class


3
Dokümanları anlayamıyorum - herhangi bir posta kutunuzun domain1.comtakma adı nasıl ? <mailbox>@domain2.com
Josh M.

2
@JoshM. Bir karma tabloyu virtual_alias_mapsformun girişiyle birlikte kullanabilirsiniz @domain1.com @domain2.com. Ayrıntılar için cevabıma bakın.
Sam Hanes

12

Ekleme alias.comiçin virtual_alias_domainsdoğru ilk adımdır, ancak diğer adlar için bu alanı kullanmak istediğiniz sadece Postfix'i söyler. Takma adların ne olması gerektiği anlamına gelmez. Bunun için sanal bir takma ad haritası kullanmanız gerekir.

İlk olarak, şuna böyle bir şey ekleyin main.cf:

virtual_alias_domains = alias.com
virtual_alias_maps = hash:/etc/postfix/virtual

Ekleme virtual_alias_maps size /etc/postfix/virtualsanal takma ad haritası olarak kullanılan bir dosya ( ) sağlar. Ama bu dosyaya ne koydunuz? Göre sanal (5) kılavuz sayfasına :

Postmap (1) komutunun giriş formatı aşağıdaki gibidir:

  pattern address, address, ...

Kalıp bir posta adresiyle eşleştiğinde, karşılık gelen adresle değiştirin.

ve

DB veya DBM gibi dizinlenmiş dosyalardan veya NIS, LDAP veya SQL gibi ağa bağlı tablolardan yapılan aramalarda, her bir kullanıcı @ etki alanı sorgusu aşağıda açıklandığı gibi bir dizi sorgu deseni üretir. Her sorgu deseni, bir eşleşme bulunana kadar bir sonraki sorgu desenini denemeden önce belirtilen her arama tablosuna gönderilir.

...

@domain address, address, ...

Alan adındaki diğer kullanıcıların postalarını adrese yönlendirin.

ve

Arama sonucu adres yeniden yazmaya tabidir: Sonuç forma sahip olduğunda, sonuç @otherdomainaynı kullanıcı olur otherdomain. Bu, yalnızca çok adresli arama sonucundaki ilk adres için geçerlidir.

Bu nedenle, bunu koymak /etc/postfix/virtualistediğiniz tam etki alanı takma adını sağlar:

# map any <user>@alias.com to the matching <user>@main.com
@alias.com     @main.com

Sonra, bu dosya bir karma tablo olduğundan, çalıştırmanız gerekir postmap( açıklama , manpage ):

postmap /etc/postfix/virtual

Sanal etki alanları hakkında Postfix Sanal Etki Alanı NASIL belgesinde ve takma adlar hakkında Postfix Adresi Yeniden Yazma NASIL belgesinde daha fazla bilgi bulabilirsiniz .


Bu nedenle, PostfixAdmin arabiriminin bir hatası vardır , çünkü interface ( edit.php?table=aliasdomain) kullanıcıya etkin olarak işaretlenirken aslında hiçbir diğer ad oluşmayacağını söyleyemez .
Peter Krauss

2
Aslında bir hata olduğunu söyleyemem, çünkü aslında sanal bir takma ad yapılandırır. Bunun yerine, PostfixAdmin'in Postfix sanal takma ad alanlarının ne olduğunu bilmenizi beklediğinden ve bunların herhangi bir şey yapmasını sağlamak için gerçek takma adlar eklemeniz gerektiğinden şüpheleniyorum. Yine de size söyleseydi daha iyi olurdu.
Sam Hanes

1

@Josh M.

Bunun doğru yol ve / veya iyi uygulama olup olmadığı hakkında hiçbir fikrim yok ama böyle bir şey kullanıyorum:

virtual_alias_maps = regexp:/etc/postfix/domain_rewriting pgsql:/etc/postfix/pgsql/     virtual_alias_maps.cf

$ cat /etc/postfix/domain_rewriting 
/^(.*)@domain1.com$/     ${1}@domain2.com

1
Tam olarak yanlış olmasa da (beklediğiniz şeyi yapar), normal ifade tablosu kullanmak, cevabımda @domain1.com @domain2.comayrıntılı olarak belirttiğim sözdizimiyle bir karma tablo kullanmaktan daha az etkilidir .
Sam Hanes

1

Bu @ sam-hanes'in cevabının kısa versiyonu (benim için çalıştı)

Senin içinde virtual_alias_maps ekleyin:

@from.domain <tab> @to.domain

Komut satırında şunları yapın:

 postmap /path/to/yourvirtualalismapsfile

Senin içinde main.cf dosya ekleme:

virtual_alias_domains : from.domain

virtual_alias_domains postfix'e mailbox@from.domain biçimindeki tüm posta kutusu adreslerinin hepsinin takma ad olduğunu söyler.

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.