免费工具 mailto 链接生成器:带主题和正文的邮件链接
网站上的「联系我们」、邮件签名里的「反馈问题」,点一下就打开访客的邮件客户端,收件人、主题、开头几句话都已经填好。手写 mailto 很容易出错:空格要写 %20 而不是 +,换行要写 %0D%0A,中文要先转 UTF-8 再编码,主题里一个没转义的 & 或 # 会让后面的内容全部丢失。填好表单,复制一条符合 RFC 6068 的链接就行。
- 收件人、抄送、密送、主题、正文
- HTML 和 Markdown 代码
- 本地生成
生成 mailto 链接
每一项都可以不填,但至少要填一项。多个邮箱用英文逗号分隔。
一个或多个邮箱,用逗号分隔。「名字 <邮箱>」只保留邮箱,因为 mailto 不能带显示名。
看网页源代码的人都能看到。
只能一行,换行会被换成空格。
只能是纯文本。换行会保留,编码成 %0D%0A。
HTML 和 Markdown 版本里访客看到的文字;留空则用第一个收件人邮箱。
mailto:service@example.com?subject=%E8%AE%A2%E5%8D%95%20%231024%20%E5%92%A8%E8%AF%A2&body=%E6%82%A8%E5%A5%BD%EF%BC%9A%0D%0A%0D%0A%E8%AE%A2%E5%8D%95%E5%8F%B7%EF%BC%9A%231024%0D%0A%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0%EF%BC%9A%0D%0A%0D%0A%E8%B0%A2%E8%B0%A2%EF%BC%81原始链接,放进 href、邮件签名或二维码。
<a href="mailto:service@example.com?subject=%E8%AE%A2%E5%8D%95%20%231024%20%E5%92%A8%E8%AF%A2&body=%E6%82%A8%E5%A5%BD%EF%BC%9A%0D%0A%0D%0A%E8%AE%A2%E5%8D%95%E5%8F%B7%EF%BC%9A%231024%0D%0A%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0%EF%BC%9A%0D%0A%0D%0A%E8%B0%A2%E8%B0%A2%EF%BC%81">给客服发邮件</a>参数之间的 & 已按 HTML 要求写成 &。
[给客服发邮件](<mailto:service@example.com?subject=%E8%AE%A2%E5%8D%95%20%231024%20%E5%92%A8%E8%AF%A2&body=%E6%82%A8%E5%A5%BD%EF%BC%9A%0D%0A%0D%0A%E8%AE%A2%E5%8D%95%E5%8F%B7%EF%BC%9A%231024%0D%0A%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0%EF%BC%9A%0D%0A%0D%0A%E8%B0%A2%E8%B0%A2%EF%BC%81>)链接外面加了尖括号,主题里有方括号也不会被 Markdown 误读。
检查结果
- 正常链接已生成:262 个字符,按 RFC 6068 编码。
分享这组输入:数值写在链接的 # 后面,不会发到服务器。
https://tapcub.com/zh/tools/mailto-link-generator
版本 v1.0更新于 更新记录
同一条链接的三种用法
三个输出里的链接本身完全一样,只是外面包的格式不同。
mailto 链接
以 mailto: 开头,接收件人,再接 ? 和用 & 连起来的字段。凡是要填网址的地方都能用:href、建站工具里的按钮、二维码生成器。
HTML 代码
直接放进网页。HTML 属性里的 & 应写成 &,浏览器大多能容忍原样写法,但校验工具会报错。
Markdown
用在 README、帮助中心文章、文档站里。链接放在尖括号中,主题里出现方括号也不会断。
检查结果
列出邮箱问题(拼写、显示名、缺 @)和长度、密送可见、正文含 HTML 等提醒。有错误时仍会生成链接,改好邮箱再复制即可。
mailto 只负责打开一封邮件草稿。访客可以改任何一项,点发送之前什么都不会发出去。
三步
做好后在手机和电脑上各点一次。
-
1
填写各项
填收件邮箱,写一个方便客服筛选的主题(如「官网咨询」),正文里列出需要对方提供的信息,比如订单号。
-
2
复制需要的格式
建站工具和邮件签名用原始链接,自己写网页用 HTML,文档用 Markdown。
-
3
两台设备测一遍
手机上会打开邮件 App;电脑上会打开系统默认的邮件程序,没设置的话点了可能没反应。
RFC 6068 规定的 mailto 写法
mailto: + 逗号分隔的邮箱 + 可选的 ?字段=值,多个字段用 & 连接。值先转 UTF-8,再做百分号编码。
- 空格应写成
%20(RFC 6068 §5)。mailto 里的+不是空格,但有的客户端会当成空格,所以本工具把真正的加号写成%2B - 正文换行必须写成
%0D%0A(§5) % / ? # [ ] & ; =出现在邮箱或值里时必须编码(§2),否则&、#会让字段提前结束- 中文等非 ASCII 字符按 UTF-8 字节编码:「价格」写成
%E4%BB%B7%E6%A0%BC(§2、§6.3)
| 字符 | 链接里写成 | 依据 |
|---|---|---|
| 空格 | %20 | RFC 6068 §5 |
| 换行 | %0D%0A | RFC 6068 §5 |
& | %26 | §2:否则会开始一个新字段 |
# | %23 | §2:否则会被当成网址锚点 |
+ | %2B | §5:可以编码,避免被当成空格 |
| 中 | %E4%B8%AD | §2:先转 UTF-8 再编码 |
从表单到完整链接
一个让客户附上订单号的客服邮件链接。下表每一行是一项内容在链接里的写法。
| 字段 | 你填的 | 链接里写成 |
|---|---|---|
| 收件人 | service@example.com | mailto:service@example.com |
| 主题 | 订单 #1024 咨询 | ?subject=%E8%AE%A2%E5%8D%95%20%231024%20%E5%92%A8%E8%AF%A2 |
| 正文第 1 行 | 您好: | &body=%E6%82%A8%E5%A5%BD%EF%BC%9A |
| 空行 | %0D%0A%0D%0A | |
| 正文第 3 行 | 订单号:#1024 | %E8%AE%A2%E5%8D%95%E5%8F%B7%EF%BC%9A%231024 |
如果不编码,主题里的 # 会让链接在那里结束,正文整段丢失。中文全角冒号「:」也要按 UTF-8 编码(%EF%BC%9A)。
mailto 链接容易出错的地方
很多 mailto 链接在编辑器里看着没问题,到了访客的邮件客户端才出错。
用 + 表示空格
表单编码(a+b)不是 mailto 编码,有的邮件客户端会把加号原样显示。用 %20。
文字里直接写 & 或 #
「Q&A」「订单 #12」会让主题提前结束。分别编码成 %26 和 %23。
邮箱明文挂在网页上
网页 HTML 里的邮箱会被垃圾邮件程序抓取。用可以过滤的公共邮箱(如 service@),流量大的页面改用表单或在线客服。
以为人人都有邮件客户端
公司电脑、公用电脑上常常没有配置邮件程序,点了没反应。建议在链接旁边把邮箱地址也写出来。
问题等不了一封邮件的时候
mailto 把对话带离了你的网站。在线客服让对话留在网站上,下班后也能收集邮箱留言。
mailto 怎么带主题和正文?
邮箱后面加 ?subject=,其他字段用 & 连接:mailto:a@example.com?subject=%E4%BD%A0%E5%A5%BD&body=...。空格写 %20,中文先转 UTF-8 再编码。
mailto 正文怎么换行?
用 %0D%0A,这是 RFC 6068 规定的换行写法。连写两个就是一个空行。
为什么邮件里空格变成了加号?
链接用的是表单编码,那里的 + 表示空格;而在 mailto 里 + 就是加号。改用 %20 重新编码。
中文主题打开后是乱码怎么办?
确认中文是按 UTF-8 编码的(「中」应该是 %E4%B8%AD)。GBK 编码的链接在多数邮件客户端里会乱码,上面的生成器统一用 UTF-8。
怎么同时发给几个人?
邮箱之间用英文逗号分隔:mailto:a@example.com,b@example.com。抄送和密送也是逗号分隔。
mailto 能带附件吗?
不能。RFC 6068 没有附件字段,个别客户端曾经支持的非标准参数靠不住。把文件链接写在正文里。
链接有长度限制吗?
RFC 6068 没有规定,但浏览器和邮件客户端有。整条链接建议控制在 2,000 字符左右以内;内容很多时,改用表单让访客填写。
放在网页上会被垃圾邮件盯上吗?
大概率会。网页 HTML 里的任何邮箱,包括 mailto 链接,都可能被抓取。用垃圾邮件过滤做得好的公共邮箱,或者提供表单、在线客服。