消息:豹邮件中的url

新版本的mail-in-leopard引入了一个“message:”URL处理程序,允许您引用来自其他应用程序的邮件中的单个邮件。您可以使用诸如rcDebug程序查看邮件注册为“message:”方案的默认处理程序。这封邮件现在支持这些网址,但苹果公司似乎并没有记录这些网址,但很简单,而且非常有用。这是我最喜欢的Leopard Mail新功能之一。1

这些url的结构相当简单:(1)“message:”方案,(2)消息的消息id,包含在尖括号(“<”和“>”)中。消息ID在每个消息的“消息ID”头字段中指定,哪个是Internet电子邮件标准.每个消息id都应该是唯一的,每个消息都应该有一个消息id。在我的测试中,我能找到的唯一没有邮件ID头的邮件是垃圾邮件;此类消息不能通过邮件的“message:”url引用。2

以下格式全部工作:

信息:% 3 cmessage-id % 3 e
信息:/ / % 3 cmessage-id % 3 e
信息:
信息:/ /

换句话说,“message:”后面的双斜杠是可选的,消息id值周围的尖括号可以是文字的,也可以是url编码的。(“%3c”和“%3e”为url编码值对于“<”和“>”,respectively.) If you omit the angle brackets completely,URL会工作。

邮件中没有菜单命令来访问这些“消息:”URL;我找到的唯一方法就是引用一个,除了使用AppleScript手动创建它们(参见下面),是通过拖放。大多数应用程序不接受这个URL数据在拖动粘贴板,然而。我发现有三个应用程序可以,伏都帕德,和DragThing.》,你可以把一封邮件从mail拖到Yojimbo的主窗口,或者去Yojimbo的卸货码头。当Yojimbo接受了下降,它创建一个新的书签项目,标题设置为电子邮件主题,并将URL设置为“message:”URL。VoodooPad,您可以将邮件中的消息放入文档窗口,VoodooPad将创建一个内联超链接;链接的文本是消息主题。和DragThing一起,将消息拖放到调色板上会创建一个新的URL裁剪。

更新:他们在TextEdit中工作,也是。只需将邮件拖动到TextEdit文档窗口。更新改写:你可以把它们拖进iCal,也是。如果在编辑事件时将其放入URL字段,这是一种将电子邮件消息链接到事件的简单方法。

有了这些应用,从邮件中拖动邮件一次只能处理一封邮件。如果你同时拖拽多条消息,该删除被拒绝。我认为这些应用程序对此没有任何作用。

如果您将消息从邮件拖到Finder,然而,而不是获取URL剪辑文件(例如,当您将URL从Safari的位置栏拖到Finder时),您将获得整个消息的导出版本。(这与之前的Mac OS x版本的行为一致。)

上面列出的第一个URL格式-信息:% 3 cmessage-id % 3 e(无斜线)-是邮件从邮件中拖出邮件时生成的斜线。然而,我发现第二种格式-信息:/ / % 3 cmessage-id % 3 e(有斜线)-更好。原因如下:如果将URL本身粘贴到任何使用nstextview的cocoa应用程序的文本字段中,然后可以在URL本身的任何地方单击Control-click,使用Open URL并在上下文菜单的顶部创建链接命令,因为Cocoa会将文本识别为URL。

NSTextView中的“message:”URL上下文菜单的屏幕截图。

需要注意的是您不必首先选择整个URL-你只需在“讯息”的任何地方按一下,整个网址便会被选取,上下文菜单中的前两项将是最适用于URL的两项。其他三种格式,Cocoa不会将“消息:”url识别为url,即使您在调用上下文菜单之前就选择了它。(简而言之,在我看来,Cocoa的URL猜测解析器假定URL包含冒号后面的斜线。3.)

用于复制选定消息的“message:”URL的applescript

我将下面的AppleScript命名为“复制消息链接”。选择邮件中的一条或多条消息,然后调用脚本,它会为每条消息放置url,每行一个,在剪贴板上,可以粘贴到任何地方。它使用了在Cocoa NSTextViews中工作得更好的“带斜杠”格式。

告诉应用程序“Mail”set _sel获取选择集_links to {} repeat, _msg在_sel set _messageURL中设置为“message://%3c”,_msg的消息id和“%3e”设置_links to _messageURL end repeat set AppleScript的文本项分隔符,将剪贴板设置为(_links as string)end tell

保存在你的~ / /应用程序/邮件/图书馆/脚本文件夹,它将出现在Mac OS X的脚本菜单邮件在最前面的时候。或者,更好的,使用红毛衣的快速脚本你可以给它分配一个快捷键。


  1. Mailsmith已经支持类似的功能很长一段时间了,许多其他应用程序也提供类似的功能,可以在“库”数据库中引用单个项目,如。伏都帕德.这听起来微不足道,但这是我在六月份切换到Tiger上的邮件时最怀念的事情之一。↩︎

  2. 对于具有格式错误的消息id标头的消息也是如此,例如消息id没有包含在消息头的尖括号中。邮件将产生“消息:”这类消息的url,但是url实际上不能解析回原始消息。再一次,然而,在我粗略的测试中,只有邮件ID头格式不正确的邮件是垃圾邮件。↩︎

  3. BBEdit的URL解析器足够智能,可以识别前两种格式中的任何一种—因此您可以命令单击BBEdit文档中的“message:”URL,无论它是否有斜杠,只要尖括号被编码。↩︎