使用电子邮件回复的asp.net mvc应用程序中的私人消息

时间:2011-06-30 19:00:53

标签: asp.net-mvc email email-integration

我们目前正在我们的asp.net mvc应用程序中实现私人消息传递,我们得出的结论是,我们希望让它像github一样工作......这意味着我们希望用户通过我们的方式接收消息网站和他的电子邮件收件箱(使用mvcmailer nuget有点容易实现)..但我们也希望让用户回复电子邮件(通过他的电子邮件客户端)并将该电子邮件发送到我们的应用程序(如果您使用过guthubs私人消息,您应该知道我的意思).....什么是实现此功能的常用方法?

2 个答案:

答案 0 :(得分:2)

请参阅我关于如何阅读邮箱中的电子邮件的评论。

我会使用消息总线,因此您不仅限于内部和电子邮件通知,例如,您可能希望将来添加短信通知。

您可能需要查看MassTransitNServiceBus,但对于类似的内容,您可能更容易创建自己的内容。

public class Message {
    public string Title {get;set;}
    public string Body {get;set;}
}

public interface IMessageBus {
    void Send(Message message);
}

public interface IMessageHandler {
    void Handle(Message message);
}

public class InternalMessageHander : IMessageHandler {
    public void Handle(Message message) {
        // send internal message
    }
}

public class EmailMessageHandler : IMessageHandler {
    public void Handle(Message message) {
        // send email
    }
}

您的IMessageBus实现需要找到所有处理程序(我会使用IoC容器)。

如果您需要处理大量的消息,那么我建议将这些消息交给队列并异步处理它们(MassTransit和NServiceBus都支持消息队列,但您可以轻松使用简单的数据库表)。

就阅读电子邮件而言,我会有后台任务连接到邮箱,下载电子邮件,解析它们并更新您的内容。

答案 1 :(得分:0)

通常你会在主题行或身体末尾放置一些内容来跟踪电子邮件。任何UID都可以。

希望有所帮助。