【问题标题】:Creating an IMAP client application in Silverlight在 Silverlight 中创建 IMAP 客户端应用程序
【发布时间】:2010-11-12 08:43:04
【问题描述】:

我想使用 Silverlight 3 为我的学龄前儿童制作一个精简的电子邮件客户端,并从 Gmail 帐户中提取电子邮件。

我将在 Gmail 中设置一些过滤器,以便只为一部分电子邮件指定特定标签,类似于创建白名单。然后,我想将那些带有该标签的电子邮件拉到 Silverlight 客户端。我想避免通过服务器运行任何消息(这样我就可以与朋友共享此应用程序,而他们的电子邮件应用程序不需要服务器)。

我从未编写过任何类型的电子邮件客户端(POP3 或 IMAP),我不确定这是否可行。查看可用于通过 IMAP 检索的各种库,我找不到使用限制浏览器的客户端(例如 Silverlight)的参考。

另外,我猜我将能够通过 Silverlight 中内置 SMTP 对象的 .NET 进行发送,但还没有对此进行测试。

谁能指出我正确的方向;告诉我为什么这可能可行,也可能不可行;或讲述他们自己对此类挑战的经历?

【问题讨论】:

  • 通过 .NET 通过 SMTP 发送邮件很容易,尽管使用 Gmail,您需要检查是否支持带有 STARTTLS 的 SMTP。问题是随着开源协议的发展,IMAP 相当繁琐,所以一个好的库是必不可少的。我对 Silverlight 了解不多,无法发表评论,但可以使用 stackoverflow.com/questions/670183/accessing-imap-in-c 中提到的任何 C# 库吗?
  • 我没有得到“我想避免通过服务器运行任何消息”部分。如何在不通过服务器运行的情况下检索电子邮件?或者你说的是网络服务器?
  • @Manni,我想知道是否可以直接从 Silverlight 客户端与 Gmail 服务器通信,并在中间跳过我的服务器。

标签: c# silverlight silverlight-3.0 smtp imap


【解决方案1】:

这里有一个很好的基于 Silverlight 的邮件客户端示例:

http://silvermail.com.au

我经常使用它来检查我的个人工作电子邮件,我知道它可以与 GMail 一起使用。

希望对您有所帮助。

【讨论】:

  • 有趣...我猜他们正在将您的凭据(用户名和密码)拉到他们的服务器上并通过服务完成工作。我只会将它用于非常不重要的帐户。
【解决方案2】:

Silverlight 尚不允许任意套接字连接,您需要在特权端口 143 上连接到 IMAP 服务器。即使使用客户端访问策略文件,Silverlight 也只能在端口 4502-4534 上连接到服务器。

您唯一的选择是通过这些端口上的服务器代理到 gmail,或者只是在服务器上进行 IMAP 工作并通过 HTTP 将其提供给客户端应用程序。

对此感到抱歉——我们一直在关注增强的套接字支持,但它有可怕的security implications 并且尚未实现。祝您找到适合您的方案的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多