piapia123
zh

mailto 链接生成

生成器

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

`mailto:` 是少数还在用的「点一下就把邮件客户端叫起来」的协议,但它的参数规则有几处反直觉,手写几乎必错。这个工具把收件人(协议头)、抄送 / 密送 / 主题 / 正文(查询参数)拼成一条能用的链接,并处理三件事:正文换行必须是 `%0D%0A`(只写 `%0A` 在部分客户端会被吃掉)、主题与正文里的 `&` `?` `#` 必须编码、链接超过约 2000 字符时会被静默截断因而给出提醒。多个地址该用 `,` 还是 `;`(Outlook 只认 `;`)也是一个选项。

功能

  • 一行一个收件人,自动拼成 mailto 链接
  • 抄送 / 密送 / 主题 / 正文一个不少
  • 正文换行编成 %0D%0A,不会被客户端吃掉
  • 主题与正文里的 & ? # 自动编码
  • 超过约 2000 字符时提醒可能被截断
  • 多个地址的 `,` / `;` 分隔符可选(Outlook 只认分号)
  • 拆解出每个参数供核对
  • 无收件人、只有主题也能生成(mailto:?subject=… 合法)

使用方法

  1. 一行一个收件人邮箱
  2. 按需要填抄送、密送、主题与正文(正文用 \n 换行)
  3. 需要 Outlook 兼容就把分隔符切成分号
  4. 复制链接粘到网页、邮件或文档里

常见问题

为什么正文里的换行要写成 %0D%0A?
`mailto:` 的正文按 URL 编码传递,换行的规范写法是回车加换行 `CRLF`,也就是 `%0D%0A`。只写 `%0A`(单独的换行)在部分客户端里会被忽略,于是几行正文挤成一团。工具会自动把真实换行和字面的 `\n` 都转成 `%0D%0A`。
逗号和分号到底用哪个?
RFC 6068 两种都允许,但 Outlook 只认分号。所以要兼容 Outlook 就选分号;面向通用网页、Gmail、Apple Mail 时逗号更常见。工具会按你选的分隔符连接多个收件人与抄送地址。
为什么链接太长时会有警告?
浏览器与各家邮件客户端对 `mailto:` 的长度都有实际限制(具体数字不一),超了不会报错,只会悄悄截掉尾巴 —— 你以为正文发全了,对方收到的是半截。超过约 2000 字符时工具会提醒,建议改成附件或缩短正文。

相关工具