2008-09-24 118 views
3

我正在建立一个公共网站,它有自己的域名与pop/smtp邮件服务。我正在考虑为用户提供通过电子邮件更新数据的选项 - 类似于Flickr或Blogger中的功能,您可以通过电子邮件将邮件发送到特定的电子邮件地址。然后处理电子邮件数据并存储在网站的底层数据库中。你将如何通过电子邮件实现数据库更新?

我正在使用ASP.NET和SQL Server并使用共享托管服务。任何想法如何实现这一点,或者甚至可能使用共享主机?

谢谢

回答

3

对于初学者,您需要托管允许您创建一个全部收录邮箱。

其次,您需要一个很好的POP3或IMAP库,它不包括在.NET堆栈中的AFAIK。

然后,您将编写一个命令行应用程序或定期检查邮箱的服务,获取消息,根据“To”地址(每个用户都是唯一的)在数据库中插入内容,然后从邮箱。

这是可行的,听起来很有趣。在你开始之前,确保你拥有所有你需要的东西!

1

电子邮件可以琐碎伪造。如果您可以在应用程序中处理PGP/SMime证书,我只会这样做。

除此之外,我看不出没有理由不!

+0

如果数据相当简单,我认为PGP可能不是必需的。但否则我同意! :) – 2008-09-24 08:48:27

0

使用dotnet popclient来读取传入的电子邮件,解析它们,无论您期望什么,并将数据插入数据库。

看到简单的popclient实施 你将不得不决定对电子邮件内容自己,如在CodeProject网站仅数据,SQL语句的有效载荷等

0

你也可以识别基于发件人地址的用户。这是如何Tripit(和其他人)做到这一点。这只需要一个电子邮件地址就可以了。

+0

这可能比使用秘密接收地址更危险。我想,这不是一个好主意。 – 2008-09-24 09:16:54

2

如果数据有些“关键”或至少适度重要,请勿将其用户名用作“更改数据地址”。例如:您可能会试图创建一个像[email protected]这样的地址,但是如果访问该网页,则可以使用[email protected]来给他们随机数。这样,人们只需知道用户名就无法更新其他人的数据。

0

我做了类似的事情,使用Lumisoft's IMAP client并在我的应用程序中安排了一项任务,每隔x分钟检查一次配置的邮件地址以获取更新。对于时间安排,我建议quartz.net。没有启动外部进程或任何东西。

相关问题