Mailto: 正文格式化

43

可能重复:
mailto链接多个正文行

快速问题。我正在为一家慈善机构创建一个网站,他们在网站上有一个部分,人们可以提出建议,以便他们为自己的事业筹集更多资金。他们的网站只是普通的HTML、JS和CSS,以保持轻量级。我添加了一个mailto:,让人们可以发送电子邮件给他们,但他们希望获得更多信息,比如他们的姓名和联系方式。我想知道是否有一种方法可以格式化正文,使其有新的行:

name: 
email:
tel:
postal address:

感谢您!以下是我的mailto的样式。欢迎提供帮助或建议:

这是我的mailto的样式。欢迎提供帮助或建议:

<a href="mailto:someone@example.com?subject=Suggestions&body=Your%20suggestions%20are%20really%20important%20to%20us%20,thanks!">Send suggestions!</a>
3个回答

72

在邮件正文中使用 %0D%0A 表示换行。

示例:(演示)

<a href="mailto:someone@example.com?subject=Suggestions&body=name:%0D%0Aemail:">test</a>​
                                                                  ^^^^^^

1
谢谢,太完美了。我在网上找不到任何明确的东西!你真棒! - legendary_rob
第一个链接损坏了,因为它重定向到一个通用的关于我的页面。 - Akito

4

从谷歌上的第一个搜索结果:

mailto:name@domain.e_t?subject=Header&body=This%20is...%20the%20first%20line%0D%0AThis%20is%20the%20second

%20是URL编码的空格字符。它不是URL编码的换行符。 - Aleksandar
3
@Aleksandar 是的。你仔细阅读了回答吗? - Madara's Ghost

2

算了吧;这在Outlook或者甚至GMail里可能行得通,但是你不可能支持大多数其他电子邮件客户端(而且有一堆它们)。

最好使用一个简单的PHP脚本(查看PHPMailer)或使用一个托管的解决方案(谷歌“托管电子邮件表单”,“免费托管电子邮件表单”或类似的东西)。

顺便说一下,您正在寻找术语“百分比编码”(也称为url-编码,JavaScript使用encodeUri/encodeUriComponent(确保您了解差异!))。 您需要编码的远远不止换行符。


是的,我知道你在说什么,我是一名Ruby开发者,曾考虑将整个网站放入Rails应用程序中,并通过Action Mailer运行它,并添加一些表单。但这位客户要求严格使用HTML和CSS。因此,mailto: 是最简单的方法。我动了一些手脚,现在它可以正常工作了。不过还是感谢你的建议。 - legendary_rob
2
Curt的解决方案在Thunderbird中也适用,因此应该可以覆盖主要用户。 - John

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