使用C#自动创建电子邮件地址和接收电子邮件?

时间:2011-01-06 12:26:46

标签: c# email imap pop3

我是email feature available in Backpack的粉丝,每个背包页面都会创建一个唯一的电子邮件地址,发送到该地址的所有电子邮件都会发布到该页面。

我的问题是如何最好地自动创建新的电子邮件地址,以及收听发送到这些地址的新电子邮件。我想从C#服务(我没有使用ASP.Net)

这样做
  • 有没有人试图实现这个或 以前类似的东西?
  • 是否有图书馆(最好是 FLOSS)已经可用了 这个还是会帮助我?
  • 是否可以使用基于云的方式执行此操作 电子邮件服务(如果是的话,服务是什么?)和a 用于与之通信的库 服务(OpenPop.Net或类似的)?

3 个答案:

答案 0 :(得分:4)

如果您的电子邮件提供商支持在您的域中设置通配符电子邮件,则可以使用一个电子邮件帐户执行此操作。

例如,Google Apps for Domains允许将*@example.com设置为myaccount@example.com。如果有人通过电子邮件发送sales@example.comcontact@example.com,则会将其全部发送至myaccount@example.com

然后这是获取所有电子邮件的过程。然后,您可以查看电子邮件中的to标题,将其与应用程序中为该用户存储的名称相匹配,然后根据需要进行处理。

请注意,使用此方法时,您会收到垃圾邮件和其他未正确处理的电子邮件。您将不得不自己处理这些问题(例如,通过错误地丢弃未发送到有效帐户的邮件)。

答案 1 :(得分:3)

我对传入的邮件并没有玩过多少,但是从顶层开始你应该做的事情。

  • 根据任何逻辑为用户创建电子邮件地址,并将其保存在数据库中。

  • 使用您的域名设置邮件服务器,并将一个电子邮件帐户设置为“全能”邮件帐户。如果找不到电子邮件地址,则发送到您域的任何邮件都将被该邮件帐户捕获。

  • 创建一个Windows服务,该服务将从“Catch-All”帐户中读取邮件。有几个库可用于使用POP3或IMAP阅读邮件。

  • 读取收到的邮件,检查邮件发送到的电子邮件地址,并将其与存储在数据库中的值进行比较,并进行相应的处理。

检查this问题。它可能会帮助您reading incoming mails

答案 2 :(得分:1)

目标不是创建真正发生的电子邮件地址。您所做的是接受您系统中的电子邮件地址,您接受的内容取决于您。您可以设置邮件服务器以接收发送到您的域的任何电子邮件,然后您可以解析电子邮件至字段并提取“名称”部分。如果它与你正在收听的内容相匹配,那么你就会相应地采取行动。

我认为你不会找到这个特定活动的图书馆,因为它相当孤立。有很多方法可以直接或间接地接收电子邮件并在C#中处理它们,但我不会介绍它,因为.Net中的邮件处理已有详细记录。