2013-09-19 4 views
1

Я пытаюсь создать простой веб-клиент электронной почты в C#/ASP.NET. Я пытаюсь использовать Aspose.Email DLL для подключения к серверу электронной почты через IMAP и показывать электронные письма пользователю. Теперь я подумываю хранить загруженные электронные письма в файловой системе/базе данных или просто получать и показывать эти письма по каждому запросу.IMAP Email webclient в C#

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

ответ

1

Вы можете использовать MailSystem.NET. Это электронная библиотека с открытым исходным кодом .NET.

+0

MailSystem.NET - это инструмент для подключения к серверам с поддержкой POp/IMPA и доступа к электронной почте. У меня уже есть эта функциональность. Мой вопрос - что делать с полученными электронными письмами? Хранить только заголовки или всего тела в локальной базе данных? Каковы лучшие практики для веб-клиентов IMAP? –

+0

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

1

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

Другие загружают только заголовки (достаточно, чтобы отображать список писем в папке), а затем загружать все тело только по запросу (когда пользователь открывает электронное письмо в списке). В конце концов, это просто компромисс, и вы должны увидеть, что лучше всего работает в вашем сценарии.

Лично я думаю, что загрузка всех электронных писем в папке с самого начала является излишним, и я видел, как клиенты застряли в течение нескольких часов, загружая электронные письма для особо больших папок. Хорошим вариантом было бы отображать достаточно, чтобы отображать оконную информацию и получать остальное, когда пользователь прокручивается вниз - но это не так, чтобы реализовать. Во всяком случае, IMAP4 Implementation Recommendations научит вас нескольким трюкам, чтобы оптимизировать связь с сервером и избежать многих распространенных ошибок, встречающихся у более популярных настольных клиентов.

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