Я новичок в Postfix, Dovecot и имею только базовые знания о маршрутизации почты.
Есть сервер, который должен получать электронные письма для различных почтовых ящиков с неограниченным количеством доменов. (info@example.com, joe@blah.com, support@example.com, shmoe@foo.com - тысячи из них.) Мне нужно обрабатывать только несколько писем как обычные ящики IMAP, остальные письма должны обрабатываться php, фактически пересылаемый в реальный почтовый ящик, размещенный третьей стороной.
Таким образом, info@example.com обрабатывается как обычный почтовый ящик, хранится локально, IMAP, но joe@shmoe.com перенаправляется на joeshmoe@gmail.com.
Не очень понимаю, как реализовать такую логику. Может быть, я могу использовать Postfix + Mysql со списком почтовых ящиков для пересылки? Список динамический
Или может быть какая-то противоположная схема: входящие электронные письма сначала обрабатываются php-скриптом, а некоторые передаются в Postfix?
Здесь нужна помощь ..
Если единственное, что будет делать ваш php-скрипт, - это пересылка почты, она вам вообще не нужна. Вы можете добиться того же с помощью стандартных функций постфикса.
Упомянутое руководство по хостингу виртуальных доменов находится здесь http://www.postfix.org/VIRTUAL_README.html
Вы можете найти там параграф, посвященный пересылке почты. По сути, вы создаете файл с такими строками:
joe@example.com joe@somewhere
первый столбец - это локальный почтовый ящик, а второй - электронное письмо, на которое вы пересылаете.
Если вам нужно доставлять электронные письма в php-скрипт (или любую другую программу), есть аналогичный способ сделать это с помощью |
(но через псевдонимы, а не виртуальную карту - спасибо за комментарий) - загляните в раздел «список рассылки» того же документа.
listname: "|/some/where/majordomo/wrapper ..."
Вместо файлов вы также можете использовать MySQL - см. http://www.postfix.org/MYSQL_README.html