Ставите почтовый сервер, в настройках почтового сервера делаете вызов команды по приходу письма (как именно зависит от используемого сервера, это уже другой вопрос). А что это будет за команда - это уже вы решаете, делаете себе вызов php файла если нужно, или HTTP-запрос куда-то, или ещё что-то.
Посмотрите на iRedMail, после установки у вас есть почтовый сервер, БД с аккаунтами, письма в каком-то формате в файловой системе Dovecot хранит (нагуглите в каком если нужно, навскидку не помню, искать лень). Остается поковырять графическую панельку чтобы разобраться как создавать самому произвольные аккаунты напрямую и вытаскивать что вам нужно.
Таким образом у вас:
- Почтовый сервер с БД
- Вызов скрипта по приходу письма
- В скрипте идете в папку с письмами и вытаскиваете всё, что вам нужно
- При необходимости меняете записи в БД для добавления доменов и аккаунтов, управления квотами и всяким таким