mailto协议的使用技巧
mailto:是一个用于发送邮件的URL协议, 简单实用, 但是许多人不知道它, 我来介绍一下.
首先mailto:是一个本地协议, 也就是说它不需要网络传输, 在本地就可以解析协议之后的内容, 其他的本地协议比如data:协议用于直接解析一个mime媒体类型, 这些协议适用于内容简短的情况下, 因为所有内容藏在url后面的参数中.
既然是url协议, mailto直接可以在浏览器中打开, 通常浏览器会调用系统的邮件客户端, 在编辑器上提前输入好收件人, 主题, 内容等信息, 不用用户手动拷贝进去了.
比如mac下面打开这个<a>标签点击后就会出现这个画面:
<a href="mailto:[email protected]?subject=This%20is%20the%20subject&[email protected]&body=This%20is%20the%20body">Send email</a>
可以看到, 主流的操作系统都是支持mailto协议的, 可以放心使用.
其中域名就是收件人的邮箱地址(插一句, 邮箱地址是世界统一的标准, 独一无二的个人域名, 非常适合作为user-id使用), 如果有多个收件人, 域名之间用分号分隔:
mailto:[email protected];[email protected]
主要的URL参数:
- cc: 抄送地址
- bcc: 密件抄送地址
- subject: 主题
- body: 初始内容
主要这4个参数, 使用url标准的&来分隔, 可以缺省但不能自定义, 因为协议的定义是"通讯双方共同遵守的标准", 但因为没有网络的原因, 这里的"双方"是你(开发者)和操作系统, 世界统一的邮件标准就是这么简单.
mailto当初也是web规范, 所以MDN上面也有介绍.
还要注意的是, 因为url的缘故, 一些特殊字符得用百分号转义法,比如回车符是%0A不是\n:
mailto作为通用标准, 应当多多使用.