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

10

Pengguna Gmail dapat memperoleh alamat email yang hampir tidak terbatas dengan menggunakan [email protected]("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 [email protected]dipetakan ke [email protected]kotak surat, tetapi saya gagal mencari tahu caranya.

Jadi, apakah mungkin? Bagaimana?

cweiske
sumber

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

cweiske
sumber
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 = +
mvp
sumber
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

DmitrySandalov
sumber
Terima kasih. Ideed, Solusi postfix saja tidak cukup jika Anda menggunakan Dovecot. Anda memerlukan konfigurasi ekstra ini untuk Dovecot.
David Verdin