让DBMAIL的WEBMAIL自动完成域名

2016/5/7 10:40:07      点击:

DBMAIL的WEBMAIL支持两种登录的方式,一种是采用域名下拉菜单的方式,另外的一种就是输入完整账号的方式。对于单域名的服务器来说,使用下拉菜单的方式当然是最好不过的了,但是如果服务器上有多个域名,而采用下拉菜单的方式,势必泄露了服务器上其它域名的隐私,所以要采用完整的账号方式来登录。

 

鉴于输入完整的账号比较麻烦,所以修改了下WEBMAIL的登录界面,让在输入完整状态状态的情况下,只用输入账号即可,后面的域名后缀自动添加,其实这个功能来源于DIY版本的WINWEBMAIL的版本,只不过移植到这来罢了。

 

用记事本打开DBMAIL安装目录WEB下面的default.asp。找到

<html>
<head>

在<html>的上面加入如下代码(用于获取域名后缀):

<%
dim from,ss,ii
from=Request.ServerVariables("SERVER_NAME")
ss=len(from)
ii=instr(from,".")
from=mid(from,ii+1,ss)
%>

然后找到</head>在后面加上以下JAVA代码

<SCRIPT LANGUAGE="JavaScript">
 function fEvent(sType,oInput){
  switch (sType){
   case "focus" :
    oInput.isfocus = true;
   case "mouseover" :
    oInput.style.borderColor = '';
    break;
   case "blur" :
    oInput.isfocus = false;
   case "mouseout" :
    if(!oInput.isfocus){
     oInput.style.borderColor='';
    }
    break;
  }
 }
function remendinput(oInput) {
  if (oInput!="" && oInput.length>0){
  if (oInput.indexOf("@")< 0){
  document.getElementById("fm_strAccount").value=oInput + "@<%=from%>";
  }  
  }
}  
</SCRIPT>

然后找到

<% If nLoginMode=0 Then %>

.....

<% Else %>

替换成以下内容:

<tr height=30><th align=right><%=IDS_default_Your_account%>: &nbsp;
 <td colspan=3><input type=text name="fm_strAccount" id="fm_strAccount" height=21" style="width:255px" value="<%=cc_strAccount%>" onFocus="fEvent('focus',this)" onBlur="fEvent('blur',this);remendinput(this.value)" onMouseOver="fEvent('mouseover',this)" onMouseOut="fEvent('mouseout',this)">
 <td>