0

我已经能够通过脚本桥和苹果邮件破解我的方式,现在可以从我的可可程序发送电子邮件。现在,我正在尝试发送 HTML 邮件并遇到了障碍。简而言之,我生成了一个 NSString ,其中包含从打开的 html 标记到 slash-html 的关闭标记的整个 HTML 代码,以及介于两者之间的所有好东西。

但是,当我通过脚本桥将其作为内容传递时,我最终得到的只是一封电子邮件,我可以在其中阅读 HTML 代码......我会说它是纯文本,但链接仍然显示为可点击的链接,所以这并不完全真的。

如果我在 Safari 中打开代码,HTML 会正确显示。

我想这可能与电子邮件中的标题信息有关,但如果有办法通过脚本桥设置它,我还没有找到一种方法来做到这一点。同样,由于链接是可点击的,我认为它们可能不是问题?

如果有办法将标头信息设置为“Content-Type: text/html; charset=ISO-8859-1”和“MIME-Version: 1.0”并且任何人都知道如何,请赐教:)

如果没有,有人有什么建议吗?我确定我一定遗漏了一些东西,我希望它很简单。

* 编辑 *

我尝试在 Safari 中打开我的 HTML 文件并使用 FILE>Email Contents 然后在 Apple Mail 中创建一个新电子邮件。这封新电子邮件可以 HTML 格式查看。因此,我知道必须有可能做到这一点。

然后,我将该电子邮件以及非 html 电子邮件发送给自己。

仅检查两个文件的标题信息显示,这两封电子邮件的内容类型相同,被列为:

multipart/alternative; boundary="Apple-Mail=_D0859731-3A0F-459E-9673-DEC0FC6503BF"

当然,发送的每封电子邮件的 ID 字符串都不同......

但是,在查看原始源代码时,HTML 文件实际上确实有第二种内容类型,它在 HTML 代码之前指定了“text/html”(我将其解释为 multipart/alternative 只是指示邮件应用程序查看对于其他内容类型标签...

4

2 回答 2

1

这是您需要的:

开源 Cocoa/Cocoa-Touch POP3/SMTP 库?

(一个邮件函数库)

于 2012-06-20T02:50:34.503 回答
0

据我所知,Apple 不允许您通过脚本桥直接发送 HTML 电子邮件。我可以推测他们对此不满意的原因(垃圾邮件、安全性等),但似乎事实就是如此。

解决方法是在 Safari 中打开 HTML,然后使用 Scripting Bridge 将“此页面的内容通过电子邮件发送到邮件”。这会在 Mail.app 中创建一个新的外发邮件,其中包含 HTML 代码。

注意:然而,我注意到的一个副作用是,当 Safari 创建电子邮件后使用脚本桥将收件人添加到电子邮件时,会为每个收件人创建一个带有内嵌代码的附加 DIV 标记。因此,由于默认设置是在显示的每个 DIV 标记之前和之后添加换行符,因此 HTML 代码在页面下方开始为每个添加的收件人。一种解决方法是在 HTML 代码中使用 CSS 来覆盖 DIV 标记的默认显示行为。我在这里更详细地解释了它:

Scripting Bridge 在将收件人添加到邮件时添加了不需要的 HTML 代码

于 2012-06-23T22:18:23.193 回答