【问题标题】:.Net User Messaging System.Net 用户消息系统
【发布时间】:2011-01-22 08:11:14
【问题描述】:

我想知道是否有适用于 .NET 的框架来帮助我向用户发送消息。我希望能够将我所有的消息写入一个存储库。然后,我希望能够根据用户设置的偏好将这些消息发送给用户。例如我希望能够通过电子邮件和短信向用户 A 发送通知 A,并通过 SMS 和 IM 向用户 B 发送通知 B。关于是否存在这样的东西或者我需要写它有什么想法吗?

【问题讨论】:

    标签: .net asp.net system.messaging


    【解决方案1】:

    对于电子邮件,请查看SmtpClient。对于短信,您有两种选择:

    • 通过他们的 API 注册使用网关(大多数人将通过电子邮件或网络请求调用 SMS 的简单方法,而且相当便宜)。
    • 使用 GSM 调制解调器或手机实现您自己的 SMS 解决方案。
    • 或者您可能很幸运地处于一个有免费网关的区域,但您必须进行调查。

    对于 IM,这完全取决于您所指的内容,例如微软?或实际的机器对机器 IM。

    【讨论】:

      【解决方案2】:

      这不是一项简单的任务,您需要独立实现所有部分。如果您按照上面的建议使用 SmtpClient,您可能会遇到性能问题或反垃圾邮件问题,因此请考虑使用电子邮件服务器。对于 IM,您可以使用 XMPP(又名 Jabber)协议和 XMPP 服务器。它使从一个地方发送各种即时消息成为可能。有很好的免费 XMPP 客户端库 agsXMPP 和用于服务器的谷歌“ejabberd”。

      【讨论】:

        【解决方案3】:

        System.Net.Mail 将是您正在寻找的用于向用户发送电子邮件的命名空间。看看this code example,它可以帮助您指明正确的方向。

        【讨论】:

          【解决方案4】:

          许多移动服务提供商允许您使用收件人电话号码作为电子邮件地址发送一封将转换为短信的电子邮件,即 3335558888@txt.att.net

          具体可以使用以下:

          AT&T:[10 位手机号码]@txt.att.net 160 个字符

          Verizon:[10 位手机号码]@vtext.com 140 个字符

          各种运营商都有一些您需要注意的小怪癖,即要求您在号码的开头添加 1 以表示美国呼叫代码。

          【讨论】:

            【解决方案5】:

            对于电子邮件和 SMS,只需让他们提供多个电子邮件地址并为每个地址配置消息。他们可以提供自己的移动电子邮件地址;不必担心每个移动提供商的细节是一项艰巨的任务,而且没有必要。我不确定是否每个移动提供商都有电子邮件->短信,但如果他们没有并且您必须 100% 提供它,那么网关可能是您唯一的选择。

            对于 IM 部分,有另一篇文章通过很多链接准确地询问了这一点。 https://stackoverflow.com/questions/1672201/library-for-instant-messaging-like-libpurple-but-written-in-c

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-05-07
              • 1970-01-01
              • 2017-05-23
              • 2013-09-25
              • 2012-02-02
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多