手机版

mailto在JS中用于将用户在网页中输入的内容传输到本地邮件客户端

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

背景:

我想在我的网站上有这样的设计:

用户点击提交按钮后,本地邮件客户端将被打开,他在输入框中输入的内容将被自动用作邮件的内容,如下所示:

Mailto可以帮助实现这个功能。

导言:

Mailto是一种电子邮件协议,它可以创建一个指向电子邮件地址的超链接,通过该超链接可以通过互联网发送电子邮件。就像在地址栏输入网址会打开网页一样,输入mailto:[emailprotected]会打开本地邮件客户端,并将邮件发送到[emailprotected]。

在HTML中使用邮件

1.用法:

一种方法是在a标记的href属性中写入mailto链接:

a href=' mailto :[Email protected]'电子邮件/a

另一种写在形式的动作属性中

表单名称='sendmail '操作='mailto:[emailprotected]输入名称=' name '类型=' text '输入名称=' subject '类型=' text '输入名称=' email '类型=' text '输入名称=' number '类型=' text '输入名称=' body '类型=' text'/form2。

Mailto支持以下参数:

两种方法都可以传递参数,但效果不同。

如果使用a标记,则只能向mailto链接添加参数:

a href='mailto:to?subject=subject cc=cc body=body ' sendmail/a在第一个参数后添加?其他参数通过。

效果如下:

如果使用form,在mailto链接中传递的参数和效果与使用a的参数和效果相同,他的特殊之处在于他将在input及其输入内容中传递name属性值:

这种方法不需要JS来获取输入框中的内容,可以直接将用户输入的内容更新到邮件内容区,但是有一个明显的缺点,那就是传入的格式非常不美观,不方便。几乎没有人用这种方式发邮件,用户需要自己删除等号,调整样式。

所以我选择用A标签打开mailto链接,通过JS格式化内容,然后作为参数传递给A标签。

p class=' title ' contact ME/p ul class=' Email ' Li input类型=' text ' Name=' Name '/Li Li input类型='text' name='email '占位符='Email Address'/li liinput类型='text' name='number '占位符=' Phone Number '/Li Li class=' Message ' text area Name=' Message '占位符=' Message '/text area/Li button class=' BTN BTN-定义' submit/button A href=' mailto ' id=' send '/用户输入内容并点击按钮后,js会在输入框中获取内容,格式化并发送给A,然后模拟点击A标签。

JQuery代码:

函数sendmail(){ var name=$('[name=' name ']')。val(),email=$('[name='email']')。val(),number=$('[name='number']')。val(),message=$('[name='message']')。val(),body='我的名字是: ' name '

“我的电子邮件地址是:‘电子邮件’

“我的电话号码是:”

“消息:”

消息;$('#send ')。attr('href ',' mailto:[emailprotected]?body=' body ');document.getElementById('send ')。单击();}$(文档)。加载($(')。BTN’)。点击(发送电子邮件););在那里

是的,回车符合换行符,所以我的邮件客户端不能解析HTML格式的字符(传递br不能实现换行符),但是传递UTL代码可以。

版权声明:mailto在JS中用于将用户在网页中输入的内容传输到本地邮件客户端是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。