Mailto和格式化(加粗、斜体等)

8
我想打开用户的邮件客户端,并显示特定文本。文本的某些部分应该是加粗斜体或u̲n̲d̲e̲r̲l̲i̲n̲e̲d̲。

我尝试使用mailto来实现这个目标。

但它使用的是RFC 2368... 所以这根本不可能:

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

有没有其他方法可以打开带有特定格式化模板的邮件客户端?


3
不可能。请参见https://dev59.com/8G035IYBdhLWcg3wGMHa - FLX
@FLX 我知道 mailto 不可能实现这个功能,我的问题是:是否有其他选项? - Atnaize
最好发送HTML邮件的方法是使用phpmailer或类似的工具。您可以使其从用户地址发送电子邮件。 - FLX
1个回答

3

⚠ 除非您了解您的受众并已验证此操作不会对任何人造成伤害,否则请勿使用此功能。

即使您已经了解,最好还是避免使用它,因为这更多是误用而不是正确使用:这种内容大多数情况下对辅助技术不可访问。


由于您的问题已经包含“虚线”(u̲n̲d̲e̲r̲l̲i̲n̲e̲)(误)使用组合下划线字符(维基百科),您可能已经了解其他“伪字母”,“推特字体”和类似的滥用其他Unicode功能的行为,大多数情况下涉及各种数学符号。有了这个黑暗的知识,您可以只是使用适当的URI编码,浏览器应该将内容传递给电子邮件客户端:

var str = 'Please do not abuse "", "u̲n̲d̲e̲r̲l̲i̲n̲e̲", "" and other mathematical notations glyphs for ❝formatting❞.\nThanks!';
var href = 'mailto:?body=' + encodeURIComponent(str);
document.write((str + ' → ' + href).link(href));

点击生成的链接会在 gMail 中产生以下结果:

gmail compose window with textual abomination from the snippet

并且通常应该在任何其他电子邮件客户端上工作。但是,请充分测试,如果不是绝对必要,请不要使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接