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

4

我是Backpack中可用的电子邮件功能的忠实粉丝,它可以为每个背包页面创建一个唯一的电子邮件地址,并将发送到该地址的任何电子邮件发布到页面上。

我的问题是如何最好地自动创建新的电子邮件地址,并监听发送到这些地址的新电子邮件。我想从C#服务中执行此操作(我不使用ASP.Net)

  • 是否有人尝试过实现这个或类似的功能?
  • 是否已经有库(最好是FLOSS)可用于执行此操作或协助我?
  • 是否可以使用基于云的电子邮件服务(如果可以,使用什么服务?)和与该服务通信的库(OpenPop.Net或类似)来执行此操作?

那些人创建了一个邮件服务器和一套库来帮助处理电子邮件,希望它能帮到你。http://www.lumisoft.ee/lsWWW/ENG/Products/Mail_Server/mail_index_eng.aspx?type=info - Nikola Sivkov
3个回答

4
如果您的电子邮件提供商支持在您的域上设置通配符电子邮件,则可以使用单个电子邮件帐户完成此操作。
例如,Google Apps for Domains允许将*@example.com设置为传递到myaccount@example.com。当有人向sales@example.comcontact@example.com发送电子邮件时,所有内容都将传递到myaccount@example.com
然后,您需要获取所有电子邮件。然后查看电子邮件中的to头,将其与存储在应用程序中的用户名称匹配,然后按您的意愿进行处理。
请注意,使用此方法时,您将收到垃圾邮件和其他错误寄送的电子邮件。您需要自行处理这些问题(例如通过丢弃未寄送到有效帐户的错误邮件)。

3

我并没有花太多时间研究收件箱,但以下是应该采取的步骤:

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

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

  • 创建一个 Windows 服务,该服务将从“捕获所有”帐户中读取邮件。有多个库可用于使用 POP3 或 IMAP 读取邮件。

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

请参考此问题,它可能会帮助您阅读传入的邮件


1

目标不是创建电子邮件地址,这实际上不会发生。您要做的是接受系统中的电子邮件地址,您接受的内容取决于您。您可以设置一个邮件服务器来接收发送到您域的任何电子邮件,然后解析电子邮件的 To 字段并提取“名称”部分。如果它与您正在监听的某些内容匹配,则相应地采取行动。

我认为您不会找到针对此特定活动的库,因为它相当独立。有许多直接或间接接收电子邮件并在 C# 中进行处理的方法,但我不会涵盖这些内容,因为 .Net 中的邮件处理有很好的文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接