mitaichik
@mitaichik

Как принимать письма на php?

Всем привет ) Надо создать почтовый сервер, в котором программно из php можно создавать аккаунты (почтовые ящики), принимать на них письма и парсить их.

И чтоб можно было настроить хук - когда письмо приходит, вызывался бы скрипт.

Как такое сделать? В какую сторону копать? Сервер на ubuntu.
  • Вопрос задан
  • 485 просмотров
Пригласить эксперта
Ответы на вопрос 4
SagePtr
@SagePtr
Еда - это святое
Ну, в PHP начиная с какой-то версии, можно создавать сокеты и слушать входящие соединения, потому вполне можно написать собственный почтовый сервер, принимающий письма и позволяющий проверять) Другое дело - а оно надо?)
Ответ написан
Комментировать
PavelK
@PavelK
А не проще ли VPS заюзать и поднять свой почтовый сервер?
Ящики можно в базе хранить и создавать соответственно из php
Сами письма можно так же хранить в базе, и по крону запускать php скрипт и делать нужную выборку хоть по регэкспу.
Postfix + dbmail справятся с этим.
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Ставите почтовый сервер, в настройках почтового сервера делаете вызов команды по приходу письма (как именно зависит от используемого сервера, это уже другой вопрос). А что это будет за команда - это уже вы решаете, делаете себе вызов php файла если нужно, или HTTP-запрос куда-то, или ещё что-то.

Посмотрите на iRedMail, после установки у вас есть почтовый сервер, БД с аккаунтами, письма в каком-то формате в файловой системе Dovecot хранит (нагуглите в каком если нужно, навскидку не помню, искать лень). Остается поковырять графическую панельку чтобы разобраться как создавать самому произвольные аккаунты напрямую и вытаскивать что вам нужно.

Таким образом у вас:
  • Почтовый сервер с БД
  • Вызов скрипта по приходу письма
  • В скрипте идете в папку с письмами и вытаскиваете всё, что вам нужно
  • При необходимости меняете записи в БД для добавления доменов и аккаунтов, управления квотами и всяким таким
Ответ написан
Комментировать
akubintsev
@akubintsev
Опытный backend разработчик
Не до конца ясна задача. Для чего вам нужно создавать почтовые ящики и парсить оттуда письма? Если это не сервис для людей, а надо просто делать подставные ящики, тогда проще настроить систему email-алиасов, чтобы письма на самом деле ссыпались все на один реальный ящик.
Или даже настроить почтовый сервер так, чтобы все письма на несуществующие email в домене падали куда вам нужно.
Думаю это проще в реализации будет, чем то, что вы задумали изначально.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽