Задача: автоматическая обработка почты и запись данных в mysql базу.

Dovecot и Postfix

Для начала нужно установить Dovecot и Postfix (я ставил версию с mysql)

Установка сервера приема почты это долгое и неблагодарное занятие которое съело у меня 6 часов, поэтому описывать это я не буду, гайдов полно в гугле.

Затем через postfixadmin версии 2.3.6 добавил catch all(т.е. все письма отправленные на любой адрес(даже не существующий) попадающие на наш сервер идут на одну почту) адрес с которого собирается почта на уже другой локальный ящик(тоже созданный в админке)

Сам фильтр добавить не трудно, проблема скорее в разборе письма… Пытался установить mailparse в php, но он отказался компилироваться, пришлось изобретать велосипед.

Добавление фильтра

Идем в /etc/postfix и открываем master.cf

добавляем в конце волшебные строки(перед второй строкой обязательно должно быть 2 пробела)

myhook — название нажего хука/функции

user — пользователь из под которого будет запускаться скрипт

argv — собственно расположение скрипта

так теперь чтобы он срабатывал надо добавить в этом же файле выше одну строчку

находим

и добавляем строку(опять же 2 пробела здесь в начале)

в итоге получится

Сохраняем, закрываем и делаем

 Обработчик php

Собственно все.