我想编写一个程序,它可以接收电子邮件,解释消息是什么,然后执行计算,然后根据收到的电子邮件做出响应。
例如:
邮件服务器收到一封正文中包含“选项 1”的电子邮件......然后邮件服务器以某种方式询问程序在选项 1 的情况下应该做什么。程序执行一些计算,然后要求 SQL 服务器进行中继一些与选项 1 相关的数据。然后邮件服务器返回动态创建的消息“选项 1 表示 xxx”。
我真的不知道从哪里开始。一位朋友推荐了 PostFix,但我不确定在哪里可以执行任何程序逻辑。欢迎任何想法或建议。
我想编写一个程序,它可以接收电子邮件,解释消息是什么,然后执行计算,然后根据收到的电子邮件做出响应。
例如:
邮件服务器收到一封正文中包含“选项 1”的电子邮件......然后邮件服务器以某种方式询问程序在选项 1 的情况下应该做什么。程序执行一些计算,然后要求 SQL 服务器进行中继一些与选项 1 相关的数据。然后邮件服务器返回动态创建的消息“选项 1 表示 xxx”。
我真的不知道从哪里开始。一位朋友推荐了 PostFix,但我不确定在哪里可以执行任何程序逻辑。欢迎任何想法或建议。
procmail邮件处理器非常擅长这一点。示例应该在文档中。它本质上允许您从给定条件(例如“安全”令牌、“密码”、“地址”...)的邮件头中剥离邮件正文,然后通过其他任意程序管道邮件正文。
如果您的邮件服务器可以通过 IMAP4 连接,我建议您查看IMAPFilter。您可以实施 LUA 脚本以根据电子邮件的内容执行某些操作。我发现了一篇博文,可能会给你一些关于如何开始的提示。
您可以使用常规的 POP3/IMAP 和 SMTP 设置来执行此操作。
一些有用的链接:
PS 我们已经在我从事过的几份工作中做到了这一点,这实际上非常简单。
克里斯,我从这里开始:codeproject - NetPopMimeClient。使用它我编写了一个程序来检查基于主题文本的新库存电子邮件(附加库存)。当我找到一个新的时,我会保存附件,然后将其上传到我的 sql 服务器并启动一个存储过程来处理它. 然后保存电子邮件日期时间戳以供下次运行并在前端显示给用户。
我创建了一个在 SQL Server 代理中安排的控制台应用程序。我这样做是为了有一个活动日志,它靠近数据库,很容易手动启动,并且在出现问题时会通过电子邮件发送出去。
吉姆