做一个属于自己腾讯企业邮箱登录页

hanada.info这个域名其实主要是作为域名邮箱使用的,我用的是腾讯企业邮箱。腾讯企业邮提供了mail.domain.xx的登录方式,但是这个方式要求域名已备案,而且可选的页面模板也十分单调。因此,其实可以自己设计一个页面来登录。要实现这个功能,可以利用腾讯企业邮箱提供的「登录模板」接口,在邮箱管理页面-工具箱-登录模板可以找到。

点击获取代码后,腾讯企业邮箱提供了如下代码


<style>
.bizmail_loginpanel{font-size:12px;width:300px;height:auto;border:1px solid #cccccc;background:#ffffff;}<br />
.bizmail_LoginBox{padding:10px 15px;}<br />
.bizmail_loginpanel h3{padding-bottom:5px;margin:0 0 5px 0;border-bottom:1px solid #cccccc;font-size:14px;}<br />
.bizmail_loginpanel form{margin:0;padding:0;}<br />
.bizmail_loginpanel input.text{font-size:12px;width:100px;height:20px;margin:0 2px;border:1px solid #C3C3C3;border-color:#7C7C7C #C3C3C3 #C3C3C3 #9A9A9A;}<br />
.bizmail_loginpanel .bizmail_column{height:28px;}<br />
.bizmail_loginpanel .bizmail_column label{display:block;float:left;width:30px;height:24px;line-height:24px;font-size:12px;}<br />
.bizmail_loginpanel .bizmail_column .bizmail_inputArea{float:left;width:240px;}<br />
.bizmail_loginpanel .bizmail_column span{font-size:12px;word-wrap:break-word;margin-left: 2px;line-height:200%;}<br />
.bizmail_loginpanel .bizmail_SubmitArea{margin-left:30px;clear:both;}<br />
.bizmail_loginpanel .bizmail_SubmitArea a{font-size:12px;margin-left:5px;}<br />
.bizmail_loginpanel select{width:110px;height:20px;margin:0 2px;}<br />
</style><script type="text/javascript" src="http://exmail.qq.com/zh_CN/htmledition/js_biz/outerlogin.js" charset="gb18030"></script>
<script type="text/javascript"><br />
writeLoginPanel({domainlist:"hanada.info", mode:"vertical"});<br />
</script>

正如上图所示,给出的显示效果非常糟糕。接下来就要开始魔改了

首先提供的代码是通过外部引用js来加载html的,我们只要把这段代码放进页面里,按F12即可获取到整个js调用的html代码。如下

<div id="divLoginpanelVer" class="bizmail_loginpanel">
<div class="bizmail_LoginBox">
<h3>登录邮箱</h3>
<form name="form1" action="https://exmail.qq.com/cgi-bin/login" target="_blank" method="post" onsubmit="return checkInput()">
            <input type="hidden" name="firstlogin" value="false">
<input type="hidden" name="errtemplate" value="dm_loginpage">
<input type="hidden" name="aliastype" value="other">
<input type="hidden" name="dmtype" value="bizmail">
<input type="hidden" name="p" value="">
<div class="bizmail_column">
                <label>帐号:</label>
<div class="bizmail_inputArea">
                    <input type="text" name="uin" class="text" value="">@
<span>hanada.info</span>
<input type="hidden" name="domain" value="hanada.info"></div>
</div>
<div class="bizmail_column">
                <label>密码:</label>
<div class="bizmail_inputArea">
                    <input type="password" name="pwd" class="text" value=""></div>
</div>
<div class="bizmail_SubmitArea">
                <input type="submit" class="" name="" style="width:66px;" value="登录">
<a href="https://exmail.qq.com/cgi-bin/readtemplate?check=false&t=bizmail_orz" target="_blank">忘记密码?</a></div>
</form></div>
</div>

可以观察到提交登录信息的地址是https://exmail.qq.com/cgi-bin/login,账号(不包括后缀)的name是uin,密码的name是pwd,此外域名后缀(@hanada.info)的name为domain,但是被hidden起来了,默认是hanada.info,如果把hidden改为text的化就可以输入任意的域名登录到相应的腾讯企业邮箱了,为了美观我这里依然保持hidden。

另外下面这部分我也搞不太清楚其作用,因此没有改动,他们也不会出现在页面中

<input type="hidden" name="firstlogin" value="false">
<input type="hidden" name="errtemplate" value="dm_loginpage">
<input type="hidden" name="aliastype" value="other">
<input type="hidden" name="dmtype" value="bizmail">
<input type="hidden" name="p" value="">

了解到其代码的基础结构之后,就可以自定义一个登录表单页面了,我为了方便美观直接搬了KodExplorer(https://kodcloud.com/)的登录界面,他们原来的登录界面可在http://demo.kodcloud.com查看。
照搬之后只要把表单的提交对象改为https://exmail.qq.com/cgi-bin/login,注意建议把 target="_blank" 去掉,否则登录后会在新窗口打开。

<form action="https://exmail.qq.com/cgi-bin/login" method="post" onsubmit="return checkInput()">

然后改动账号、密码框的name值,

<div class="inputs">
<div>
		<i class="font-icon icon-user"></i>
<input type="text" name="uin" placeholder="邮箱前缀" autocomplete="on">
<input type="hidden" name="domain" class="text1" value="hanada.info"></div>
<div>
		<i class="font-icon  icon-key"></i>
<input id="password" name="pwd" type="password" placeholder="邮箱密码" autocomplete="on"></div>
</div>

注:为了美观我没让@hanada.info出现,账号输入的是邮箱前缀。

2018-12-20补充:对登录界面进行了少许该进,显示了@hanada.info后缀。

然后把上面那五行input type="hidden"也复制到相应位置,实测已经可以登入到邮箱了

注:KodExplorer登录页面html引用了一些js导致登录过程出问题,把html底部的js调用删掉即可正常登录。

再改动一下页面的一些文字,删除一些没必要的部分即可正常使用了。最后晒一下我的邮箱登录界面。

https://mail.hanada.info/

另外实测在移动端中登录并不成功,所以以上登录界面仅适用于桌面端,可以在head里加js代码判断移动端时直接跳转腾讯企业邮箱登录页。

点赞
  1. air说道:
    Google Chrome Windows 7

    腾讯企业邮箱,没有备案,如何通过mail.domain.xx 访问呢?

    1. Hanada Hanada说道:
      Google Chrome Android 8.0.0

      没备案没办法的,你可以像我一样做一个登录页,但是点击登录之后地址栏还是腾讯的,我的域名是全局HTTPS,所以备案了也不打算用于访问腾讯企业邮箱,反正只有地址栏显示的区别。 :huaji8:

      1. air说道:
        Safari iPhone iOS 12.0

        现在的邮箱背景改了,求赐之前那个背景图,谢谢

        1. Hanada Hanada说道:
          Google Chrome Android 8.0.0

          另外原来那张图截自动画电影「龙猫」 :huaji2:

          1. air说道:
            Sogou Explorer Windows 7

            非常感谢!

  2. 一起微笑说道:
    Google Chrome Windows 7

    好东西,拿走了

  3. JJ说道:
    Google Chrome Windows 7

    :haha: 代码共享一下呀

    1. Hanada Hanada说道:
      Google Chrome Windows 10

      你点进https://mail.hanada.info,然后右键另存为不就保存下来了?

发表评论

电子邮件地址不会被公开。必填项已用 * 标注