Я хочу разобрать и отправить автоматический ответ на электронную почту. С чего мне начать? - PullRequest
0 голосов
/ 03 августа 2010

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

Мой лучший SMTP-сервер - это лучший вариант, или мне проще это сделать?

Я бы предпочел использовать .NET для этого.

Ответы [ 5 ]

2 голосов
/ 03 августа 2010

Использование собственного SMTP-сервера - интересная задача, но не тривиальная.Существует ряд запросов на комментарии (RFC), в которых указывается, что должен обрабатывать SMTP-сервер.Загляните в статью Википедия , чтобы узнать, как применяются RFC, в частности RFC 5321 .

Если у вас не достаточно времени или тольконеобходимо реализовать очень небольшое подмножество функций, которые я бы предложил использовать сервер с открытым исходным кодом.Есть несколько примеров проектов (например, CodeProject ), которые могут быть хорошей отправной точкой, если вы хотите создать свой собственный.

1 голос
/ 03 августа 2010

Выполнить это с помощью встроенных библиотек .NET относительно просто.

Для начала нужно написать программу для загрузки почты: вот отличный пример использования POP3 / C # .

Если у вас есть такая возможность, вы можете анализировать / сохранять содержимое электронной почты с помощью регулярных выражений или любого созданного вами механизма правил, а затем использовать .NET smtp libaries для отправки ваших ответов.

0 голосов
/ 03 августа 2010

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

0 голосов
/ 03 августа 2010

Я не думаю, что вы хотите заниматься написанием собственного SMTP-сервера, потому что диалог между клиентом и сервером может быть непоследовательным и сложным. Большинство SMTP-серверов позволяют указывать MDA (Агент доставки почты) , например procmail, для доставки почты, предназначенной для пользователей на этом компьютере.

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

0 голосов
/ 03 августа 2010

Очень легко отправлять электронные письма в .Net через SMTP, их загрузка и анализ немного сложнее, но есть довольно много статей о написании POP3-клиентов, так что это определенно выполнимо. Или, если вы готовы потратить немного денег, можно купить несколько библиотек POP3, но я никогда не пробовал ни одной, поэтому не могу дать никаких рекомендаций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...