【问题标题】:How to auto process emails when they arrive?邮件到达时如何自动处理?
【发布时间】:2010-09-28 09:53:32
【问题描述】:

我有当前的情况:

  1. 我的应用程序为每个用户生成一个 表单的有效系统电子邮件地址 可以说:uuid@website.com
  2. 当用户有问题/疑问时,他可以发送 从任何地址发送电子邮件到该地址 预定义的系统电子邮件地址
  3. 应用程序应接收用户发送的电子邮件并处理它们(检查垃圾邮件,插入数据库)

在这种情况下,我想到的第一个可能的解决方案是在 15 分钟内汇集电子邮件地址,在外部桌面应用程序(或类似应用程序)中处理它们(垃圾邮件或非垃圾邮件)并将它们插入数据库.

因为我想在 .net、C#、SQL Server 2008 中执行此操作,并且它应该在 Web 服务器上运行,是否可以使用 WCF 进行以下解决方案?

  • 我创建了一个 WCF 网络服务,当一个电子邮件地址收到一封电子邮件时,它会捕获它并开始处理过程。

我从一开始就看到 WCF 的一个问题是我不认为它可以自动反应,直到现在我使用 wcf 的唯一方法只是直接调用它并接收结果。所以我认为应该在电子邮件服务器和 wcf 服务之间放置另一层,并且该层应该在收到某些东西时“做出反应”。

主要思想是在电子邮件到达时对其进行处理,而不是定期从收件箱中取出。

任何指针?谢谢你

【问题讨论】:

  • 你的意思是要写一个 SMTP 服务器?
  • @Jappie:我也想到了这一点..但老实说,如果有的话,我正试图找到一种“更简单”的方式。如果我开始编写 smtp 服务器,那么我也需要对其进行测试,所以如果我必须在编写 smtp 服务器和定期获取电子邮件之间做出选择,我会选择后者。
  • 你能解释一下>它应该在网络服务器上运行吗?物理机(运行某个网站的服务器)或 IIS/etc?
  • @KMan: 它应该在物理机上运行。

标签: c# .net wcf email process


【解决方案1】:

你是对的。 Web 服务无法为您捕获任何内容。您将不得不调用(使用 .ashx/或等)Web 服务。这就是 Web 服务的用途,被调用。

应用应接收用户发送的电子邮件并进行处理

听起来您正在寻找开发电子邮件客户端;如果是这样,那么如何:

  • 创建一个电子邮件客户端应用程序(例如here
  • 创建 Windows 服务,帮助处理邮件。

假设您已经定制了客户端程序,Windows 服务将客户端一起工作,查找新消息并相应地处理它们。

对于电子邮件客户端示例,结帐:

【讨论】:

    【解决方案2】:

    如果连接到 Exchange 2007 SP1 或更高版本的 Exchange Web 服务看起来是最好的方法:

    Read MS Exchange email in C#

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-18
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      相关资源
      最近更新 更多