Библиотека серверов SMTP и IMAP для .NET
Вопрос
Кто-нибудь знает хорошую серверную библиотеку SMTP/IMAP для C#?
Я нашел только несколько давно заброшенных проектов.
Только СЕРВЕРНАЯ СТОРОНА библиотеки, пожалуйста, больше не публикуйте сообщения о клиентских библиотеках.
Спасибо, Финн
Решение
Я работаю над проектом, в котором мне нужно получать почту через SMTP в локальной сети (устаревшее приложение отправляет почту в целях интеграции).Первоначально я собирался использовать SMTP-сервер в IIS и приемники событий, но это кажется немного неуклюжим.В настоящее время я оцениваю следующие 3 библиотеки-кандидата:
nDumbster:Открытый исходный код, но не полностью реализованный сервер.Первоначально использовался для модульных тестов.Он анализирует почту по объекту для облегчения проверки.Мне пришлось пересмотреть его, чтобы вызвать событие при получении сообщения.
Смтпсервер:Современный дизайн с использованием .NET TPL и реализации STARTTLS.Исходный код не кажется легкодоступным.Предоставляет несколько перехватчиков при получении сообщения, но передает содержимое сообщения в виде большого двоичного объекта.(Мне не удалось это проверить, поскольку для этого требуется .net 4.5)
Рнвуд.SmtpServer:Выглядит полнофункциональным, исходный код доступен, хотя документация отсутствует.
Другие советы
LumiSoft.Net, библиотека почтового сервера LumiSoft, представляет собой бесплатную серверную библиотеку.Классы сервера (например.Сервер IMAP, сервер POP3 и сервер SMTP) запускают события, когда им нужна информация или действие для вашего серверного приложения, например «дайте мне список сообщений в виртуальной папке XXY».
я использовал DotNetOpenMail в прошлом.
Вы не упомянули, ищете ли вы бесплатную или платную/коммерческую версию.Я использовал IPWorks от nsoftware с большим успехом в прошлом.
Для SMTP есть System.Net.Mail
.Что касается IMAP, я не знаю.Но как только вы получите электронное письмо с сервера, вам захочется его проанализировать.Разбор MIME — самая сложная часть.Для этого я использую и рекомендую SharpMimeTools
.