2013-08-07 3 views
1

Я бы хотел, чтобы пользователь мог отправить электронное письмо на указанный адрес электронной почты. Затем, как только это письмо будет получено, запустите сценарий, который анализирует раздел тела электронной почты и выполняет различные задачи с информацией, приведенной в электронном письме (данные, поступающие из электронного письма, будут структурированы в формате XML-типа).Принять и разобрать информацию по электронной почте

На мой взгляд, это похоже на простую задачу, но я не так хорошо знаком с внутренней работой электронной почты. Мои вопросы:

  1. Как я узнаю, как только электронное письмо было получено от отправителя, чтобы оно могло быть обработано?
  2. Как я могу использовать php для получения текста, найденного в письме?
+0

в зависимости от вашего почтового сервера вы можете конвейер входящей электронная почты в сценарий. –

ответ

1

Я согласен с другими ответами, что трубопровод к приложению PHP должен быть вашим первым вариантом (если почтовый сервер и PHP такого же)

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

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

Вам нужно будет использовать cronjob, чтобы вызвать сценарий через регулярные интервалы

Чтобы получать электронную почту с сервера и разобрать его, я использовал функцию PHP IMAP http://php.net/manual/en/book.imap.php

Вы также можете использовать Сторонние сервисы, такие как MandrillApp, которые получат сообщение, разбивают его на части и вызывают ваше приложение через webhook.

http://help.mandrill.com/entries/21699367-Inbound-Email-Processing-Overview

2

Если у вас есть PHP, работающий на вашем почтовом сервере, тогда можно подключить входящую почту к скрипту PHP. Затем ваш PHP-скрипт может анализировать тело каждого входящего сообщения по мере его поступления. См. http://harrybailey.com/2009/02/send-or-pipe-an-email-to-a-php-script/ для получения дополнительной информации.

Смежные вопросы