0

我想编写一个程序,它可以接收电子邮件,解释消息是什么,然后执行计算,然后根据收到的电子邮件做出响应。

例如:

邮件服务器收到一封正文中包含“选项 1”的电子邮件......然后邮件服务器以某种方式询问程序在选项 1 的情况下应该做什么。程序执行一些计算,然后要求 SQL 服务器进行中继一些与选项 1 相关的数据。然后邮件服务器返回动态创建的消息“选项 1 表示 xxx”。

我真的不知道从哪里开始。一位朋友推荐了 PostFix,但我不确定在哪里可以执行任何程序逻辑。欢迎任何想法或建议。

4

4 回答 4

1

procmail邮件处理器非常擅长这一点。示例应该在文档中。它本质上允许您从给定条件(例如“安全”令牌、“密码”、“地址”...)的邮件头中剥离邮件正文,然后通过其他任意程序管道邮件正文。

于 2009-12-16T03:59:27.927 回答
0

如果您的邮件服务器可以通过 IMAP4 连接,我建议您查看IMAPFilter。您可以实施 LUA 脚本以根据电子邮件的内容执行某些操作。我发现了一篇博文,可能会给你一些关于如何开始的提示。

于 2013-12-27T11:32:47.790 回答
0

您可以使用常规的 POP3/IMAP 和 SMTP 设置来执行此操作。

  1. 监视邮箱中的传入消息
  2. 下载消息并解析内容
  3. 根据需要处理您的事件
  4. 向发件人生成 SMTP 响应并做出响应。

一些有用的链接:

  1. System.Net.Mail
  2. 在 C# 中处理 POP3 消息

PS 我们已经在我从事过的几份工作中做到了这一点,这实际上非常简单。

于 2009-12-16T03:58:57.530 回答
0

克里斯,我从这里开始:codeproject - NetPopMimeClient。使用它我编写了一个程序来检查基于主题文本的新库存电子邮件(附加库存)。当我找到一个新的时,我会保存附件,然后将其上传到我的 sql 服务器并启动一个存储过程来处理它. 然后保存电子邮件日期时间戳以供下次运行并在前端显示给用户。

我创建了一个在 SQL Server 代理中安排的控制台应用程序。我这样做是为了有一个活动日志,它靠近数据库,很容易手动启动,并且在出现问题时会通过电子邮件发送出去。

吉姆

于 2009-12-16T04:05:48.570 回答