zoukankan      html  css  js  c++  java
  • mailto标签来调用邮箱客户端

    最近项目需要使用mailto标签来调用客户端,并且把邮件模板填到客户端。

    mailto 的用法:

    a标签直接调用:

    <a href="mailto:example@qq.com?cc=example2@qq.com&subject=有未结算的单据&body=您有未付清的账单">发送邮件</a>

    js调用:

    sendEmial(){
                var subject = "余额通知";
                var to = "test@qq.com";
                var cc = "bc.@126.com";
                var body = "你好,您的余额不足1 %0d%0a换行";
                var url="";
                url="mailto:"+to+"?cc="+cc+"&subject="+subject+"&body="+body;
                document.location.href=url;
    }

    使用mailto乱码与mailto无关,所以解决方法从客户端来做。

    我们的项目只要求支持foxmail和outlook。我们直接按上面的写法,outlook正常,foxmail乱码。

    经过测试发现foxmail支持GBK编码,所有从后台直接把内容转换成GBK:如:URLEncoder.encode("内容","gbk");则内容转换成GBK:%b1%ea%cc%e2;把它直接赋给body,foxmail乱码解决。

    此时再看outlook,转换成GBK后,outlook乱码了。解决办法:

    打开outlook——工具——选项——邮件格式——国际选项——Internet协议(对mailto:协议启用UTF-8支持)复选框去除选中——点击确定就OK了。(outlook中文版默认是选中的,去除选中即可)
    这样乱码问题就解决了。不过对于outlook可能得挨个设置了。
    总结:针对不同的情况,我们去设置不同字符编码即可。
    附:更改window默认邮件客户端,修改注册表:
    [HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellAssociationsUrlAssociationsmailtoUserChoice]
    "Progid"="outlook.URL.mailto"
    或者
    [HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellAssociationsUrlAssociationsmailtoUserChoice]
    "Progid"="foxmail.URL.mailto"
  • 相关阅读:
    兼容性测试中如何切换和管理多个JDK版本
    Win10的分辨率问题
    sql和access中截取字符串的区别
    ArcGIS制图之Sub Points点抽稀
    Office版本问题0x80029C4A
    ArcGIS制图之Maplex自动点抽稀
    ArcGIS制图之Subset工具点抽稀
    .NET破解之100%营销QQ辅助软件【更新】
    Office2016体验
    Log4net中的调错
  • 原文地址:https://www.cnblogs.com/xiaozhumaopao/p/11328364.html
Copyright © 2011-2022 走看看