Отправка / получение / интерпретация динамического электронного письма - PullRequest
0 голосов
/ 16 декабря 2009

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

Например:

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

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

Ответы [ 4 ]

1 голос
/ 16 декабря 2009

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

0 голосов
/ 27 декабря 2013

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

0 голосов
/ 16 декабря 2009

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

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

Jim

0 голосов
/ 16 декабря 2009

Это можно сделать с помощью обычной настройки POP3 / IMAP и SMTP.

  1. Контроль почтового ящика на наличие входящих сообщений
  2. Скачать сообщение и разобрать его содержимое
  3. Обрабатывайте события по мере необходимости
  4. Создание SMTP-ответа для отправителя и ответ.

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

  1. System.Net.Mail
  2. Обработка сообщений POP3 в C #

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

...