Postfix: không giới hạn địa chỉ trên mỗi người dùng thông qua dấu hiệu + +


10

Người dùng Gmail có thể nhận được địa chỉ email hầu như không giới hạn bằng cách sử dụng $name+$suffix@gmail.com("cộng địa chỉ").

Tôi muốn có cái đó cho máy chủ mail của riêng tôi, nó đang chạy Postfix. Hộp thư và dữ liệu bí danh được lưu trữ trong cơ sở dữ liệu MySQL.

Tôi nghi ngờ rằng cấu hình bí danh cần được sửa đổi, để nó user+foo@example.orgđược ánh xạ vào user@example.orghộp thư, nhưng tôi không tìm ra cách.

Vì vậy, nó có thể? Làm sao?

Câu trả lời:


13

Ngoài việc thiết lập

recipient_delimiter = +

Tôi cũng đã phải sửa đổi master.cf, để thư quảng cáo không chỉ nhận được người nhận, mà cả người dùng thực sự:

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

Bài đăng trên blog: http : // cweiske.de/ voltbuch / postfix-plus-addressing.htmlm


Bạn đã hỏi về postfix, nhưng điều này đề cập exim, đó là máy chủ SMTP khác nhau. BTW, lưu ý rằng nếu bạn có máy chủ IMAP thực (không chỉ hộp thư), việc sử dụng LMTPsẽ nhanh hơn nhiều so với thư. Và nếu bạn sử dụng LMTP với Cyrus, bạn sẽ không cần điều này.
mvp

1
người dùng là debian-exim, nhưng nó vẫn là hậu tố.
cweiske


Cứu ngày của tôi với {nexthop}. Tôi thậm chí không biết rằng đã tồn tại. Cảm ơn bạn.
TCB13

Cảm ơn đã trả lời. Nó đã giúp tôi rất nhiều. Tôi đang sử dụng postfix + procmail + dovecot trong máy chủ virtualmin. Tôi vừa thêm dòng "receive_d006iter = +" và địa chỉ cộng có vẻ hoạt động tốt. Tôi nên làm bất cứ điều gì bổ sung cho procmail hoặc dovecot? Ngoài ra, có thể hạn chế tên miền khôn ngoan này? Vì vậy, tôi có thể kích hoạt địa chỉ này cộng với chỉ một số tên miền trên máy chủ của tôi không? Cảm ơn.
Vishnu

3

Bạn không nói máy chủ mail nào đang lưu trữ email của bạn. Ngày nay, nó phải là một trong những máy chủ IMAP - như Cyrus, Dovecot, Courier, ...

Cá nhân tôi thích Cyrus IMAP. Nó hỗ trợ điều này một cách dễ dàng :

Thêm địa chỉ - cho phép gửi trực tiếp đến một hộp thư cụ thể (trừ INBOX). Điều này được thực hiện thông qua một địa chỉ có dạng: tên người dùng + mailfolder @ domain, sẽ cung cấp cho thư mục INBOX.mailfolder của người dùng (hoặc tương đương altnamespace). Hộp thư con này phải cho phép người dùng đăng quyền 'p'.

Thêm 'p' đúng là bước quan trọng - nếu không, tất cả thư (sử dụng +hay không) sẽ được gửi đến tên người dùng INBOX.

Lưu ý rằng bạn nên sử dụng LMTP(địa phương giao thức truyền tải mail) để cung cấp email của bạn từ postfixđến IMAPmáy chủ và cũng cần phải cấu hình postfix recipient_delimiter(hoặc recipient_delimiters) như mô tả ở đây :

recipient_delimiter = +

miễn là thư không đến được với người dùng / hộp thư vì địa chỉ thư không được máy chủ nhận không nhận ra, hỗ trợ máy chủ IMAP không thành vấn đề.
cweiske

cảm ơn vì đã đưa ra gợi ý về "cộng với địa chỉ". Với cái tên đó, tôi đã tìm ra giải pháp.
cweiske

2

Các master.cfdòng cho Dovecot:

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

Với Postfix 2.4 trở về trước, hãy sử dụng ${nexthop}thay vì${domain}

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


Cảm ơn. Ideed, chỉ riêng giải pháp postfix là không đủ nếu bạn sử dụng Dovecot. Bạn sẽ cần cấu hình bổ sung này cho Dovecot.
David Verdin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.