Как бы вы внедрили обновления базы данных по электронной почте? - PullRequest
3 голосов
/ 24 сентября 2008

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

Я использую ASP.NET и SQL Server и использую службу общего хостинга. Есть идеи, как реализовать это, или, если возможно, с помощью виртуального хостинга?

Спасибо

Ответы [ 6 ]

3 голосов
/ 24 сентября 2008

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

Во-вторых, вам нужна хорошая библиотека POP3 или IMAP, которая не включена в AFAIK в стек .NET.

Затем вы должны написать приложение командной строки или службу, которая регулярно проверяет почтовый ящик, извлекает сообщения, вставляет содержимое в дБ на основе адреса «Кому» (который уникален для каждого пользователя), а затем удаляет электронную почту из почтовый ящик.

Это возможно и звучит как веселье. Просто убедитесь, что у вас есть все, что вам нужно, прежде чем начать!

2 голосов
/ 24 сентября 2008

Если данные являются несколько «критическими» или, по крайней мере, умеренно важными, НЕ используйте их имя пользователя в качестве «change-data-address». Пример: у вас может возникнуть желание создать адрес типа username@domain.com, но вместо этого используйте username-randomnumer@domain.com, где вы даете им случайное число при посещении веб-страницы. Таким образом, люди не могут обновлять данные других людей, просто зная их имя пользователя.

1 голос
/ 24 сентября 2008

Электронные письма могут быть легко подделаны. Я сделал бы это только в том случае, если вы можете обрабатывать сертификаты PGP / SMime в своем приложении.

Кроме этого, я не вижу причин, почему бы и нет!

0 голосов
/ 30 сентября 2008

Я сделал нечто подобное, используя IMAP-клиент Lumisoft и планируя задачу в своем приложении, которая каждые x минут проверяет наличие обновленного почтового адреса на предмет обновлений. Для планирования я рекомендую quartz.net . Не запускать внешние процессы или что-либо еще.

0 голосов
/ 24 сентября 2008

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

0 голосов
/ 24 сентября 2008

используйте popnet-клиент dotnet для чтения входящих писем, их анализа на предмет того, что вы ожидаете, и вставки данных в базу данных.

см. Сайт codeproject для простой реализации popclient вам придется самостоятельно выбирать содержание электронной почты, например, только данные, полезные данные операторов SQL и т. д.

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