2009-12-16 3 views
0

Я хотел написать программу, которая может получать электронную почту, интерпретировать, что такое сообщение, затем выполняет расчет, а затем отвечает на основании полученного сообщения.Отправка/прием/интерпретация динамической электронной почты

Например:

Почтовый сервер получает электронную почту, которая имеет «вариант 1» в теле ... потом как-то почтовый сервер запрашивает программу, что он должен делать в случае варианта 1. Программа выполняет некоторые вычисления, затем запрашивает SQL-сервер для передачи некоторых данных, связанных с параметром 1. Затем почтовый сервер возвращает динамически созданное сообщение «вариант 1 означает xxx».

Я действительно не знаю, с чего начать. Друг рекомендовал PostFix, но я не совсем уверен, где можно выполнить любую логику программы. Любые идеи или предложения приветствуются.

ответ

0

Вы можете сделать это, используя обычную настройку POP3/IMAP и SMTP.

  1. Мониторинг почтового ящика для входящих сообщений
  2. Загрузить сообщение и анализировать содержимое
  3. Процесса ваших событий по мере необходимости
  4. Генерации ответа SMTP отправителя и реагировать.

Некоторые полезные ссылки:

  1. System.Net.Mail
  2. Processing POP3 messages in C#

P.S. Мы сделали это на нескольких работах, над которыми я работал, на самом деле очень прямолинейно.

1

Почтовый процессор procmail очень хороший. Примеры должны быть в документации. Это, по сути, позволяет вам удалять почтовые ящики с заданных условий заголовков (например, «маркеры безопасности», «пароли», «адреса» и т. Д.), А затем передавать тело письма через другие произвольные программы.

0

Chris, Я начал здесь: codeproject - NetPopMimeClient. Используя это, я написал программу для проверки новой учетной записи инвентаря на основе текста темы (инвентарь прилагается.) Когда я нашел новый, я сохранил бы вложение, а затем загрузил его на свой сервер sql и запустил сохраненный процесс для его обработки , Затем сохранили метку даты DateTime для следующего прогона и отобразили ее пользователю в интерфейсе.

Я создал консольное приложение, которое запланировано в SQL Server Agent. Я сделал это, чтобы иметь журнал активности, он близок к базе данных, его легко запустить вручную, и он отправляет сообщения по электронной почте, когда есть проблема.

Джим

0

Если ваш почтовый сервер может быть подключен через IMAP4, я рекомендую взглянуть на IMAPFilter. Вы можете реализовать сценарий LUA для принятия определенных действий на основе содержимого электронных писем. Я нашел blog post, который может дать вам несколько советов о том, как начать работу.

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