JavaScript调用系统邮件快速分享
在前端使用邮件分享进行快速分享~,详情参考->MDN
自定义参数
-
subject:主题
-
cc:抄送到次要收件人(与邮件有关但无需做出应答的个人或组织)
-
bcc:密送到其他收件人(主要、次要收件人不应该获得密送收件人的身份)
-
body:邮件内容
注:每个字段的值都必须进行编码 (也就是, 带有非印刷字符和空格)
/**
* 参数字符串拼接
* @param str 原参数字符串
* @param key 新参数key
* @param value 新参数value
* @returns 拼接好的参数字符串
*/
const concatStr = (str: string, key: string, value: any) => {
if (str !== '') {
return `${str}&${key}=${value}`;
}
return `${key}=${value}`;
};
/**
* 快速分享到邮件
* @param to 收件人
* @param subject 邮件主题
* @param body 邮件内容
*/
export const emailShare = (to = '', subject = '', body = '') => {
// -start 把非空参数拼接
let str = '';
if (subject !== '') {
str = concatStr(str, 'subject', subject);
}
if (body !== '') {
str = concatStr(str, 'body', body);
}
// -end 把非空参数拼接
const content = `mailto:${to}?${str}`;
const aTag = window.document.createElement('a');
aTag.setAttribute('href', content);
aTag.click();
};
使用示例
-
mailto:
-
mailto:nowhere@mozilla.org
-
mailto:nowhere@mozilla.org,nobody@mozilla.org
-
mailto:nowhere@mozilla.org?cc=nobody@mozilla.org
-
mailto:nowhere@mozilla.org?cc=nobody@mozilla.org&subject=This%20is%20the%20subject
请注意,使用&符号来分隔mailto URL中的每个字段。这是标准的URL查询表示法。
原文链接
作者:LiangSenCheng小森森 开源分享汇 公众号
出处:https://www.cnblogs.com/LiangSenCheng/p/17937964
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议请联系作者,非常感谢。