引言
小编最近修改平控件的一个问题,就是当程序弹出错误页的时候点击发邮件提示,然后调用本地已经安装的邮件客户端(像outlook等)来完成邮件发送的功能,错误页是我们平台组自己写的一个控件,所以代码是比较复杂的,但是它并没有和后台交互,所以这个功能应该是靠HTM和angularJS来实现的,当时小编是一脸懵逼的样子,完全不知道这个东西怎么玩啊,最后小编的灵感来自于CSDN.
需求描述
当点击发邮件的时候,收件人地址和邮件主题会从相应的配置文件中读取,然后用户只需要填写相应的内容就可以了,当然mailto也可以直接在代码中将内容带过去。
为什么说小编的思路来源于CSDN呢?请看下图(我的csdn首页)
当时自己在装扮自己的博客首页的时候添加了这么一个功能,然后小编就看看了实现这个功能的代码,果然在里面发现了mailto以及相应的参数,这就给小编很大的帮助了,有了这个思路以后,其余的都是小事了,下面给大家介绍一下mailto的用法。
mailto基本用法
<a href=mailto:v-zhenghao@seagull2.cn>send email</a>
或
<form action="v-zhenghao@seagull2.cn"> </form>
基本的参数
两种用法的简单示例参数传递方式同页面之间传递值一样,可以使用查询字符串,也可以用form
querystring方式:
<a href="mailto:sample@163.com?subject=test&cc=sample@hotmail.com&body=use mailto sample">send mail</a>
form方式
<form name='sendmail' action='mailto:sample@163.com'> <input name='cc' type='text' value='sample@hotmail.com'> <input name='subject' type='text' value='test'> <input name='body' type='text' value='use mailto sample'> </form>
小编在项目中采用的第一种方式:
<div class="mail-box"> <p class="custom-text"> 邮件客服</p> <a ng-href="mailto:{{customer.customerMail}}?subject={{customer.subject}}">点击发送邮件</a> </div>
<pre name="code" class="html">var customerConfig = { "subject": undefined, "customerMail": undefined } ;
customerConfig = configure.getConfig(customerConfig, 'errorPageCustomer'); if (!customerConfig.customerMail) throw ("请配置错误页的客服信息。"); if (!customerConfig.subject) customerConfig.subject = "无主题"; $scope.customer = customerConfig;
上面就是从配置文件中读取到收件人地址和邮件主题实现邮件的发送,其中的读取配置文件的方法是平台自己封装的,这样在每一个项目中引用这个错误控件,然后在自己项目中的配置文件中进行相应配置即可
小结
我们需要注意观察我们平时做的一些小事,这样可能在某一天会给我们带来解决问题的思路,所以我们在空闲时间多搞一些词“小动作”还是不错的,其实这个用法很简单,在此小编简单总结一下加深印象,希望能帮到各位。