PHP, MySQL: получение электронной почты, автоматический поиск в БД и отправка электронной почты по результатам

Посетители могут связаться с сотрудниками посредством контактной формы (посетителю также необходимо отправить письмо). Это будет сохранено в БД. Теперь, учитывая, что персонал отвечает на это сообщение, ответ от персонала будет отправлен непосредственно на адрес электронной почты посетителей. Скажите, хочет ли пользователь отслеживать сообщение, отправленное сотрудниками, я хотел бы, чтобы посетитель просто нажал кнопку ответа в своей электронной почте и отправил мне свои вопросы по одной теме, но просто сохраните идентификатор в строке темы , Поэтому, когда посетитель отправляет это письмо, я хотел бы получить электронное письмо и в то же время попытаться выполнить поиск в моей БД, если идентификатор, присутствующий в теме письма, действительно существует в системе. Если да, это будет отправлено обратно тому же сотруднику, который ранее выполнял ответ, или он был назначен новому сотруднику.

При этом я думал о том, как это сделать. Часть, в которой я действительно задерживаюсь, – это когда сотрудники получают фактическую электронную почту от электронной почты посетителей, как я могу проверить БД? Скажем, я / сотрудник получает электронные письма на mydomain@hotmail.com. Когда посетитель отправляет ответное письмо, он будет отправлен на mydomain@hotmail.com. Как я могу проверить, действительно ли ID в строке темы письма, который я получил на mydomain@hotmail.com, действительно существует в моей БД на моем веб-сайте? Здесь я действительно застрял.

Ждем ваших ответов. Спасибо.

Существует несколько подходов, которые можно использовать для автоматической обработки электронной почты. Какой из них будет зависеть от ваших конкретных потребностей:

  1. Настройте свой MTA (почтовый сервер) для запуска программы, когда она получает почту по указанному адресу (например: support@mydomain.com). Само почтовое сообщение будет передано программе для обработки. Это работает, если у вас есть собственный почтовый сервер и является наиболее отзывчивым решением, но может быть довольно сложным для настройки и обычно требует перезапуска почтового сервера для изменения.

  2. Напишите программу, которая периодически проверяет почтовый ящик (с POP или IMAP), а затем обрабатывает каждое новое сообщение. Это работает лучше для ситуаций, когда вы не контролируете свой собственный почтовый сервер (например: вы используете почту Gmail или Yahoo) и более гибкий для настройки.

  3. Напишите расширение для вашего MUA (почтовый клиент, например, MS Outlook, Thunderbird и т. Д.). Это требует, чтобы каждый, кто мог получать сообщение, работал с одним и тем же программным обеспечением клиента, и это зависит от API, который ваш клиент предоставляет для расширений. Это не будет работать с веб-интерфейсами, но позволит вам обрабатывать сообщение в интерактивном режиме и взаимодействовать с пользователем.

Я склоняюсь к первому подходу, хотя и использовал второй подход.

Посмотрите на эту zend-библиотеку , приятно и легко вписываться в ваш сайт, а значит, вам не нужно пытаться писать жесткий код, чтобы читать окно сообщения и т. Д.

Надеюсь, поможет

Люк