Soru postfix - tüm e-postaları tek bir kullanıcıya nasıl yönlendirirsiniz, örneğin *@example.com → kullanici@example.com


E-postanız için postfix kullanıyorum. Belirli e-postaları yeniden yönlendirmek için / etc / aliases ve newaliases komutunu kullanabileceğimi biliyorum. Örneğin root@example.com adresini user@example.com adresine yönlendirerek root: user / etc / aliases içinde ve sonra newaliases. Ancak, *: userBöylece, example.com'a gönderilen tüm e-postalar, kullanici@example.com adresine gönderilecektir.

Bunu nasıl yaparım?


26
2018-06-10 22:17


Menşei




Cevaplar:


luser_relay = user@example.com senin içinde main.cf istediğin şey.

Kullanıcı kontrolünü devre dışı bırakmak ve tüm postaları kabul etmek için local_recipient_maps = seçeneği. belgeleme


17
2018-06-10 22:28



Bunu main.cf dosyasına ekledim ve postfix'i yeniden başlattım. /Var/log/main.info dosyasında aşağıdaki hatayı aldım: <pre> 550 5.1.1 <myrandom@example.org>: Alıcı adresi reddedildi: Yerel alıcı tablosunda bilinmeyen kullanıcı; = <me@gmail.com> to = <myrandom@example.org> </ pre> - Rory
Dolayısıyla example.org yerel alıcı alan adlarınız listesinde yer almıyor veya başka bir şekilde yanlış yapılandırılmış. - womble♦
Çalışıyorum. Bahsettiğiniz luser_relay seçeneği olarak Aswell "local_recipient_maps =" seçeneğini de eklemeniz gerekiyor. Bu postfix belge sayfası şunları açıklıyor: postfix.org/postconf.5.html#luser_relay - Rory
Bu yöntem Kime e-posta adresini korur mu? (sanal haritalar onu yeniden yazar ve Asıl: adres kaybolur.) - user14645
@Sverre soruları sorular içindir, teğetsel olarak ilgili sorulara yedi yıllık cevaplar hakkındaki yorumlar. - womble♦


Aradığınız şey sanal takma addır ve aşağıdakileri kullanarak yapılabilir ...

Öncelikle, mevcut değilse, düzenlemeniz veya oluşturmanız gerekir. / Etc / postfix / sanal dosya.

example.com   whatever
@example.com  user@example.com

Bu kaydedildikten sonra koşmanız gerekecek postmap /etc/postfix/virtual endeksli oluşturmak için /etc/postfix/virtual.db Postfix okuyacaktır.

Ardından düzenlemeye ihtiyacınız olacak. /etc/postfix/main.cf ve aşağıdaki satırı uncommented olduğundan emin olun:

virtual_alias_maps = hash:/etc/postfix/virtual

Bu, postfix'in sanal takma ad tablosunu bilmesini ve kullanmasını sağlar.

Kullanarak sorunu luser_relay Başkalarının belirttiği gibi seçenek, bunun yerel dağıtım acentesi tarafından bilinmeyen adresler için son tatillerin kullanıcısı olarak ele alınmasıdır. Postfix yalnızca bir alan adı için posta işliyorsa, bunun için kullanılabilir, ancak diğer yapılandırma hatalarını gizleyebilir ve birden fazla alan adı ele alındığında beklenmedik sonuçlara neden olabilir.

Söylemek istediğim bir uyarı, bu niteliğin joker bir takma adının oluşturulmasıyla, posta sisteminizin mevcut olmayan adreslere yönelik iletileri kabul etmek için açıldığını ve posta kutusunun istenmeyen postalar için spam ile hızlı bir şekilde doldurulma riskini çalıştırdığını posta kutuları.


16
2018-06-11 01:34





Aslında oldukça basit. Tek yapmanız gereken böyle bir şey koymak main.cf dosya:

virtual_alias_maps = regexp:/etc/postfix/virtual_alias

regexp kısmı hile yapar. Ayrıca /etc/postfix/virtual_alias böyle bir şey koydun:

/^test/ you@yourdomain.com

Bu örnekte 'test' ile başlayan tüm postaları hedef ile almalısınız. Postmap / etc / postfix / virtual_alias yazmayı ve postfix'i yeniden yüklemeyi unutmayın.


8
2017-08-29 13:08





Benim için en kolay çalıştıran bir yanıtı / yorumu birleştirmek için (bir birincil alan adına sahibim):
Aşağıdakileri ekleyin /etc/postfix/main.cf :

luser_relay = user@domain.com (or local system user)
local_recipient_maps =

(local_recipient_maps = değer ayarlanmamış

Yerel bir kullanıcı linux hesabı kullanıyorum ve aynı kullanıcıyı / etc / aliases ile aynı kullanıcıya ekliyorum, böylece kullanıcı tüm mailleri root, postmaster vb.

Aynı adresi aynı zamanda virtual_alias_maps ve aynı birincil hesaptaki herhangi bir sanal alandaki catchalls'i işaret edin.

Lütfen danışın luser_relay daha fazlası için.


6
2017-07-12 16:51





Alan adı için bir tümünü yakalama adresini kullanmak isterseniz, şunları kullanabilirsiniz: /etc/aliases aşağıdaki gibi bir regex ile kombine:

İçinde /etc/postfix/main.cf eklemek
alias_maps = hash:/etc/aliases, regexp:/etc/postfix/catch-all-local.regexp

İçinde /etc/postfix/catch-all-local.regexp eklemek
!/^owner-/ your-catch-all-user

Bu hile yapmalı. Benim için çalıştı ve paralel olarak ayarlanmış virtual_alias_maps ile çalışır.


2
2018-02-19 12:23





Öldürmekten nefret ediyorum, ama senin sorunun Postfix'i kullanmak. Postfix, bu alıştırmayı çok zorlaştırır. Biliyorum: Birkaç yıl önce yapmak zorunda kaldım ve doğru olması için günler ve günler sürdü. luser Seçenek doğru olanıdır, fakat doğru olan başka şeyler de vardır. (Ve seçeneğin adı bile Postfix'in yazarlarının bunu desteklemediğini gösteriyor.)

Kurye'ye geçmenizi tavsiye ederim. Kurye, bu "yakalama" yöntemini varolan takma sistemini genişletme biçiminden dolayı çok daha mantıklı bir şekilde destekliyor.


-4
2018-06-11 01:05



Postfix hiç zorlaştırmıyor. Sanal takma adlar Postfix'de catchalls yapmak için standart bir yoldur ve çok kolaydır. Kendi kişisel alanınız için bir oyuncak posta sunucusundan başka herhangi bir şey üzerine, catchalls çok kötü bir fikir olduğunu söyledi. - Rob Chanter