【问题标题】:How do browsers communicate with email programs?浏览器如何与电子邮件程序通信?
【发布时间】:2012-02-19 02:46:58
【问题描述】:

我已经搜索了一段时间,但没有找到任何有用的东西。

浏览器如何与 Thunderbird 和 Outlook 等电子邮件程序通信(在 Mac 上,如果相关的话)?

我所说的通信是指通过 mailto: 链接创建一个新的电子邮件窗口所经历的过程,该窗口具有指定的地址、主题、正文。浏览器如何让电子邮件程序知道为每个字段输入什么?使用命令行(至少对于 Thunderbird)没有多大意义,因为这会在 Mac 上打开一个全新的 Thunderbird 实例。

我还没有找到任何类型的 API,所以如果有人能指出我正确的方向,那将不胜感激。谢谢!

【问题讨论】:

    标签: email google-chrome safari outlook thunderbird


    【解决方案1】:

    在 Windows 上,浏览器使用系统定义的“默认”电子邮件客户端。

    它存储在 Windows 注册表中,并定义了打开邮件程序的命令行。您可以在 Microsoft 网站上找到更多信息和示例。

    http://msdn.microsoft.com/en-us/library/windows/desktop/cc144109%28v=vs.85%29.aspx#sample_mail_program

    如果我在注册表中查找雷鸟,它似乎执行:

     "C:\Program Files\Mozilla Thunderbird\thunderbird.exe" -osint -compose "%1"
    

    我不知道它在 mac 上是如何工作的!

    【讨论】:

    • 谢谢。 'osint' 部分正是我要找的!
    【解决方案2】:

    发送到邮件客户端的附加信息通常(据我所见)附加在 mailto 命令的背面。

    在以下示例中,客户端应自动将主题填写为“来自 stackoverflow 的问候”

    mailto:hello@example.com?subject=greetings from stackoverflow
    

    我在下面列出了我知道的其他命令:

    编辑主题:?subject=
    编辑抄送:?cc=
    编辑密件抄送:?bcc=
    编辑正文内容:?body=

    这些也可以通过将它们放在一起并交换“?”来一起使用对于'&',例如

    mailto:hello@example.com?subject=hello there&body=goodbye
    

    这应该创建一封主题为“你好”和正文为“再见”的电子邮件

    我希望这会有所帮助!

    【讨论】:

    • 再次阅读您的问题,我担心您会问更多关于后端发生的事情,即:浏览器接收这些“mailto”命令并将它们发送到的过程是什么一个邮件客户端。如果这确实是您要问的,那么我很遗憾不知道:(
    【解决方案3】:

    一个非常有用的老歌,解释了名为RCDefault的表面

    它向您显示 Finder 或浏览器使用(可以使用)URL 来调用其他应用程序。

    我在这里附上 OSX 上邮件应用程序的屏幕截图:

    然后操作系统将使用 URL(或文件)调用此应用程序,并且应用程序应该了解如何打开该 URL。 苹果的mailto协议的URL方案是here

    您应该能够为您需要使用的应用程序找到其他方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多