在 Web 开发中,我们经常需要实现邮件发送功能,而 mailto 就是一个方便的链接方式。本文将详细介绍 mailto 语法及其用法。
mailto 语法
mailto 是一种 URL scheme,用于指定发送电子邮件的收件人、主题和正文等信息。其基本格式如下:
mailto:recipient@domain.com?subject=subject&body=bodyText
其中,recipient@domain.com
指定收件人邮箱地址,subject
指定邮件主题,bodyText
指定邮件正文。其他可选参数包括 cc
、bcc
、reply-to
等。
多个收件人可以用逗号隔开,例如:
mailto:recipient1@domain.com,recipient2@domain.com?subject=subject&body=bodyText
如果收件人或主题包含空格或特殊字符,则需要进行 URL 编码。
mailto 的用法
HTML 中使用 mailto
在 HTML 中,可以通过 a 标签来创建一个 mailto 链接,例如:
<a href="mailto:recipient@domain.com?subject=subject&body=bodyText">Send Mail</a>
点击该链接后,浏览器会自动打开默认邮件客户端,并填充相应的收件人、主题和正文等信息。如果用户没有安装邮件客户端,可能会出现错误提示。
JavaScript 中使用 mailto
在 JavaScript 中,可以使用 window.location.href
来实现邮件发送功能,例如:
const recipient = 'recipient@domain.com'; const subject = 'subject'; const bodyText = 'bodyText'; const url = `mailto:${recipient}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(bodyText)}`; window.location.href = url;
这段代码会将浏览器重定向到默认邮件客户端,并填充相应的收件人、主题和正文等信息。如果用户没有安装邮件客户端,该方法也会出现错误提示。
注意事项
- mailto 不是一种可靠的邮件发送方式,因为它依赖于用户的默认邮件客户端。如果用户没有安装邮件客户端或者使用了 Web 邮箱等非本地客户端,可能无法正常发送邮件。
- 在 HTML 中,使用 mailto 时需要注意 XSS 攻击。建议使用后端传递参数来生成 mailto 链接,而不是在前端拼接字符串。
- 在 JavaScript 中,使用 mailto 可能会被浏览器拦截,需要用户手动允许发送邮件。
示例代码
HTML 中使用 mailto:
<a href="mailto:recipient@domain.com?subject=subject&body=bodyText">Send Mail</a>
JavaScript 中使用 mailto:
const recipient = 'recipient@domain.com'; const subject = 'subject'; const bodyText = 'bodyText'; const url = `mailto:${recipient}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(bodyText)}`; window.location.href = url;
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/58838