2008-09-24 4 views
3

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

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

Благодаря

ответ

3

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

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

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

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

1

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

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

+0

Если данные довольно тривиальны, я думаю, что PGP, вероятно, не понадобится. Но в остальном я согласен! :) – 2008-09-24 08:48:27

0

используйте dotcl popclient для чтения входящих сообщений электронной почты, проанализируйте их на все, что вы ожидаете, и вставьте данные в базу данных.

см Codeproject сайт простой реализации popclient вы должны решили на почту содержание себя, например, только данные, полезная нагрузка операторов SQL, и т.д.

0

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

+0

Возможно, это более опасно, чем использование секретного получающего адреса. Думаю, не очень хорошая идея. – 2008-09-24 09:16:54

2

Если данные несколько «критичны» или, по крайней мере, имеют умеренное значение, НЕ используйте их имя пользователя как «адрес данных изменения». Пример. Возможно, возникнет соблазн создать такой адрес, как [email protected], но вместо этого используйте [email protected], где вы даете им случайное число, если вы посетите веб-страницу. Таким образом, люди не могут обновлять данные других людей, просто зная их имя пользователя.

0

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

Смежные вопросы