在Swift 3中使用Gmail URL方案时具有HTML正文

use*_*610 5 gmail swift

我希望使用预先配置的主题来调用Gmail应用,并且该主体包含使用以下内容的HTML:

let gmail = URL(string:"googlegmail:///co?subject=Subject&body=<body><H1>testing</H1></body>")
UIApplication.shared.openURL(gmail!)
Run Code Online (Sandbox Code Playgroud)

这会使应用程序崩溃,然后我求助于:

var messageEncoded1 = "<body><H1>testing</H1></body>".addingPercentEncoding(withAllowedCharacters: .urlFragmentAllowed)
let gmail = URL(string:"googlegmail:///co?subject=Subject&body="+messageEncoded1!")
UIApplication.shared.openURL(gmail!)
Run Code Online (Sandbox Code Playgroud)

这将创建一个URL并打开Gmail,但是,电子邮件正文显示:<body><H1>testing</H1></body>而不是这样的工作testing

测试

因此,问题是,是否有一种方法可以指定正文包含HTML,以便Gmail可以将其呈现为HTML?

小智 1

不,目前 Gmail 不会将其呈现为 HTML。此外,mailto标准RFC2368本身没有义务在body属性中渲染标签:

特殊的 hname“body”表示关联的 hvalue 是消息的正文。“body”hname 应包含消息的第一个文本/纯正文部分的内容。mailto URL 主要用于生成短文本消息,这些消息实际上是自动处理的内容(例如邮件列表的“订阅”消息),而不是一般的 MIME 正文。