Postfix: alamat per-pengguna tidak terbatas melalui tanda "+"


10

Pengguna Gmail dapat memperoleh alamat email yang hampir tidak terbatas dengan menggunakan $name+$suffix@gmail.com("plus pengalamatan").

Saya ingin memilikinya untuk server mail saya sendiri, yang menjalankan Postfix. Kotak surat dan data alias disimpan dalam database MySQL.

Saya menduga bahwa konfigurasi alias perlu dimodifikasi, sehingga user+foo@example.orgdipetakan ke user@example.orgkotak surat, tetapi saya gagal mencari tahu caranya.

Jadi, apakah mungkin? Bagaimana?

Jawaban:


13

Terlepas dari pengaturan

recipient_delimiter = +

Saya juga harus memodifikasi master.cf, agar maildrop tidak hanya menerima penerima, tetapi juga pengguna sebenarnya:

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=Debian-exim argv=/usr/bin/maildrop -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}

Posting blog: http://cweiske.de/tagebuch/postfix-plus-addressing.htm


Anda bertanya tentang postfix, namun ini menyebutkan exim, yang merupakan server SMTP berbeda. BTW, perhatikan bahwa jika Anda memiliki server IMAP nyata (bukan hanya kotak surat), menggunakan LMTPjauh lebih cepat daripada maildrop. Dan jika Anda menggunakan LMTP dengan Cyrus, Anda tidak perlu ini.
mvp

1
pengguna adalah debian-exim, tetapi masih postfix.
cweiske


Disimpan hari saya dengan {nexthop}. Aku bahkan tidak tahu itu ada. Terima kasih.
TCB13

Terima kasih atas jawabannya. Itu banyak membantu saya. Saya menggunakan postfix + procmail + dovecot di server virtualmin. Saya baru saja menambahkan baris "recipient_delimiter = +" dan tanda pengalamatan plus berfungsi dengan baik. Haruskah saya melakukan sesuatu tambahan untuk procmail atau dovecot? Juga, apakah mungkin untuk membatasi domain-bijaksana ini? Jadi saya bisa mengaktifkan ini plus hanya menangani beberapa domain di server saya? Terima kasih.
Wisnu

3

Anda tidak mengatakan server email apa yang menyimpan email Anda. Saat ini, itu harus menjadi salah satu server IMAP - seperti Cyrus, Dovecot, Courier, ...

Saya pribadi suka Cyrus IMAP. Ini mendukung ini dengan relatif mudah :

Plus addressing - memungkinkan pengiriman langsung ke kotak surat tertentu (selain dari INBOX). Ini dilakukan melalui alamat dari form: username + mailfolder @ domain, yang akan dikirimkan ke folder INBOX.mailfolder pengguna (atau setara dengan altnamespace). Sub-kotak ini harus memberikan hak kepada pengguna posting 'p'.

Menambahkan hak 'p' adalah langkah penting - jika tidak semua email (menggunakan +atau tidak) akan dikirimkan ke nama pengguna INBOX.

Perhatikan bahwa Anda harus menggunakan LMTP(protokol transport surat lokal) untuk mengirimkan surat Anda dari postfixke IMAPserver dan juga perlu mengkonfigurasi postfix recipient_delimiter(atau recipient_delimiters) seperti yang dijelaskan di sini :

recipient_delimiter = +

selama email tidak mencapai pengguna / maildrop karena alamat email tidak dikenali oleh server penerima, dukungan server IMAP tidak menjadi masalah.
cweiske

terima kasih telah memberikan petunjuk tentang "plus adressing". dengan nama itu, saya menemukan solusinya.
cweiske

2

The master.cfline untuk Dovecot:

dovecot   unix  -       n       n       -       -       pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver
 -f ${sender} -a ${recipient} -d ${user}@${domain}

Dengan Postfix 2.4 dan yang lebih lama, gunakan ${nexthop}sebagai ganti${domain}

http://wiki2.dovecot.org/LDA/Postfix


Terima kasih. Ideed, Solusi postfix saja tidak cukup jika Anda menggunakan Dovecot. Anda memerlukan konfigurasi ekstra ini untuk Dovecot.
David Verdin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.