html两种发送方式,html发送email的两种方式,前端(mailto)和后端(node)__(一)

前端篇-mailto

前端无法达到点击一个按钮直接发送邮件到指定收件人的效果,可以一用的只有mailto。

mailto能做到什么效果

调用本地的邮件客户端(如Outlook、foxmail),预先输入收件人、抄送、標題、正文內容等。

mailto怎么使用

一般有两种用法,form表单和a标签。

1.form表单

name对应标题、抄送、正文等,需要注意的是enctype一定要设置为text/plain。

然而表单提交的内容不能修改样式,实在不推荐这种方式。

2.a标签

还是a标签比较舒服。

mail

以上是一个简单的,仅设置了收件人的mailto链接,如果有多个收件人直接用逗号隔开即可,下面说一下怎么设置其他内容:

类似get方式的url,mailto:xx@xx.com加?,之后以key=value的形式以&连接,添加内容即可。

可添加的内容有:

subject :标题

cc :抄送

bcc :密送

body :正文内容

注意特殊字符(如空格)需要转码,下面是一个示例

如果你甚至不想使用任何标签,也可以直接用js拼接好url,赋值给window.location即可

var mailTo = "xx@xx.com",

subject= "标题",

body= "内容";var url = "mailto:"+encodeURIComponent(mailTo)+"?subject="+encodeURIComponent(subject)+"&body="+encodeURIComponent(body);

window.location= url;

一些可能遇到的问题

1.body的内容是否可以使用html代码?

取决于邮件客户端,比如Outlook就不会解析html标签,只会原样显示,但是foxmail就可以以html形式显示。

2.中文变成乱码

依然是邮件客户端的原因,js使用encodeURIComponent只能编码为UTF-8,然而一般的邮件客户端默认编码都是gb2312

outlook可以在文件-设置-高级中勾选,对mailto:协议启用UTF-8支持

foxmail可以直接在邮件页面右键(或者右上角设置内)设置编码为UTF-8

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值