【问题标题】:How to implement a "reply to this email" feature for my web application?如何为我的 Web 应用程序实现“回复此电子邮件”功能?
【发布时间】:2011-06-14 22:17:27
【问题描述】:

我有一个在用户创建/修改记录时发送电子邮件的应用程序。我希望我的用户能够回复发送给他们的电子邮件,并让 Web 应用程序接收电子邮件、解析它并自动更新记录。我已经在 Basecamp 等网络应用程序中看到了这一点。电子邮件通常会显示“在此行上方回复”,如果您只是回复电子邮件,则无需登录 Web 应用程序即可更新您的工单/对话。

我该如何实现这种功能? (我不是在寻找特定的语言实现,而是与语言无关的解决方案)。

【问题讨论】:

    标签: email web-applications


    【解决方案1】:

    有两种方法可以做到这一点:

    1. 您可以使用Procmail filter 将传入的电子邮件传送到您的脚本。这需要一些 'nix 专业知识来设置 - 但通过这种方法当然可以执行您所描述的操作。

    2. 使用像MailGun 这样的服务——他们会做所有艰苦的工作来设置和配置邮件服务器的东西,并通过一个很好的可编程Web API 向你公开。本周我一直在评估它以解决与您遇到的类似问题,我可以告诉您:它真的很酷,我强烈建议您自己检查一下。

    【讨论】:

    • 您是如何使用 MailGun 做到这一点的?我在收到的电子邮件中找不到 webhook。
    • (评论上一条消息) ok 找到了,你需要使用"Route"
    【解决方案2】:

    您需要实现一个服务/守护程序,用于轮询电子邮件收件箱中的新消息。要将传入电子邮件与相应数据相关联,您可以在传出电子邮件的主题中包含一个 id。

    【讨论】:

    • 按主题是指电子邮件主题吗?所以你会建议我解析 id 的主题行?
    • 是的,使用 someid=[theid],并通知用户不要编辑主题。
    【解决方案3】:

    我同意您应该创建一个系统来接收传入的电子邮件,但我不一定同意轮询它是正确的解决方案。看看我写的关于主题here 的博客文章。它与 Rails 相关,但这些概念应该适用于任何语言。这就是我们编写 CloudMailin 系统以提供更好的电子邮件接收方式的原因。

    您还可以为每封电子邮件使用唯一的发件人地址,以防止用户更改主题行成为问题。电子邮件地址的一次性部分对此很有用。以回复+user123@example.com 为例。

    【讨论】:

    • 我本来希望像您提到的那样使用加号/减号地址,但不幸的是,我们正在使用的邮件服务器(Microsoft Exchange)不支持该功能。
    • 我一直认为 + 是 Gmail 特有的,但很高兴知道它不是。虽然我们通过亚马逊市场发送电子邮件,所以他们需要注册帐户
    猜你喜欢
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    相关资源
    最近更新 更多