如何通过HTML表单的mailto:动作发送带指定主题的邮件?
HTML表单通过mailto发送邮件携带指定主题的实现方案
mailto协议本身支持在收件人地址后拼接自定义查询参数,直接预设邮件的主题、正文等默认内容,不需要额外编写前端脚本。具体实现方式和注意事项如下:
- 直接修改
<form>标签的action属性值,在目标mailto链接的邮箱地址后,用?subject=参数拼接你需要的固定主题文本即可。 - 当主题内容包含空格、中文等特殊字符时,需要对内容做URL编码处理,否则部分浏览器和本地邮件客户端会出现解析失败、主题乱码的问题。
- 提交表单时建议搭配
method="post"和enctype="text/plain"的属性组合,避免表单提交的内容被错误拼接进邮件头部,造成格式错乱。
可直接复用的代码示例
<form action="mailto:support@example.com?subject=%E7%94%A8%E6%88%B7%E5%8F%8D%E9%A6%88" method="post" enctype="text/plain" > <label>请输入你要反馈的内容:</label> <textarea name="邮件正文" rows="4" placeholder="输入反馈内容"></textarea> <button type="submit">唤起邮件客户端发送</button> </form>
拓展说明
除了固定主题,还可以通过同样的查询参数语法追加其他邮件默认配置:
- 用
&body=参数预设默认邮件正文 - 用
&cc=参数添加默认抄送邮箱 - 用
&bcc=参数添加默认密送邮箱
内容的提问来源于stack exchange,提问作者Anan328
相关产品推荐
相关产品推荐

