邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: 多域名如何能看到所有域名的地址簿?如何登录时不用输入全地址?谢谢! [打印本页]

作者: truepenny    时间: 2007-1-7 15:40
标题: 多域名如何能看到所有域名的地址簿?如何登录时不用输入全地址?谢谢!
各位好,我是新手,刚刚在公司服务器上建立的md952服务器,一共建立了两个域名:A.COM和1.A.COM,A.COM是主域, 1.A.COM是次域,并且这些域名都是虚的,因为我们是在局域网内使用的,并没有实际存在的域名。建立后两个域之间的用户可以互相通信,但问题是,发信时从地址簿查找用户名时,只能看到本域的用户,不能查看其它域的用户地址,不知道有解决的办法吗?我尝试使用公共文件夹,但是总不成功。
还有就是,登陆时主域的用户可以只输入用户名xxx和密码就可以了,而次域的用户必须输入xxx@1.A.COM 才能登陆,有没有解决办法让次域的用户也只要输入用户名和密码就能登陆?或者修改登陆页面,使用下拉框选择域名登陆?如何修改?
望各位老师能帮忙,万分感谢!!!!

整理一下,让大家更了解!
meet21century
                                 假定你的端口是3000,有a.com和b.com两个域名
那么如果你用a.com:3000进入邮箱登陆界面那么@a.com的用户不用输入全部名称,但@b.com的要;
如果你用b.com:3000进入邮箱登陆界面那么@b.com的用户不用输入全部名称,但@a.com的要;

goxia
      
                               经过实际的使用经验,我早前已经写过帖子
MDaemon是支持多域的,你用哪个域名去访问MDaemon邮件服务就会自动帮你验证,无须填写完整的邮件地址作为帐号,当然你也可以访问mail.a.com,输入完整的userb@b.com去登录到b.com邮局上。但是通过POP接受时如果关闭了MDaemon下的MD-5加密,那么客户端必须使用完整的邮件地址作为帐号名。


truepenny
            地址簿的问题解决了,只要将公共文件夹打开,并将各域的地址簿权限设置成default(anyone)可查询、可读就可以了,并且设置公共地址簿的联系人文件夹和wc服务同步就可以自动更新了

wxhsh
                陆页面做个下拉框
修改\mdaemon\WorldClient\Templates\相应主题\Logon.html找到<form action="<$ACTION$><$IF CGI:Theme$>&Theme=<$CGI:THEME$><$ENDIF$>" target="_top" method="post">
替换成
<form action="<$ACTION$><$IF CGI:Theme$>&Theme=<$CGI:THEME$><$ENDIF$>" target="_top" method="post" >
找到
<tr align="center">
     <td align="left" valign="top" class="loginText"><b>[$Password$]:</b></td>
     <td align="left" valign="top"><input class="loginInput" type="password" name="assword" autocomplete="off" size="18"   /></td>
    </tr>
插入
<tr>
      <td>域名:</td>
      <td align="left" valign="top">
        <select name="domain_name">
          <option value="test.com">test.com</option>
          <option value="test1.com">test1.com</option>
           </select>
        </td>
     </tr>



<input class="loginInput" type="text" name="User" size="18" value="<$User$>"   />替换为
<input class="loginInput" type="text" name="User" size="18" value=""   />

不过这样就不保存用户名了,考究点就在init函数中把<$Use$>r参数 @后的值都替换为空(包括@),这样就可保持一致了。


[ 本帖最后由 asionliang 于 2007-1-11 08:32 编辑 ]
作者: truepenny    时间: 2007-1-7 17:17
还有就是,我原来使用7.23的版本,根本不用开放什么公共文件夹,地址簿就能显示所有的用户地址,而现在不打开公共文件夹功能,地址簿就显示时空的,怎么办啊,谢谢。
作者: stdmis    时间: 2007-1-7 19:42
多域名沒用過,暫時不能幫你。
到於次域登入是必須輸全郵件地址的。不然會識別成主域用戶。除非你用再架一台郵件服務器,把這個域做為主域
作者: asionliang    时间: 2007-1-7 20:35
同意开心
作者: meet21century    时间: 2007-1-8 09:18
楼上的说法不完全正确!我也是多域名的!
假定你的端口是3000,有a.com和b.com两个域名
那么如果你用a.com:3000进入邮箱登陆界面那么@a.com的用户不用输入全部名称,但@b.com的要;
如果你用b.com:3000进入邮箱登陆界面那么@b.com的用户不用输入全部名称,但@a.com的要;
作者: goxia    时间: 2007-1-8 09:54
经过实际的使用经验,我早前已经写过帖子
MDaemon是支持多域的,你用哪个域名去访问MDaemon邮件服务就会自动帮你验证,无须填写完整的邮件地址作为帐号,当然你也可以访问mail.a.com,输入完整的userb@b.com去登录到b.com邮局上。但是通过POP接受时如果关闭了MDaemon下的MD-5加密,那么客户端必须使用完整的邮件地址作为帐号名。
作者: truepenny    时间: 2007-1-8 11:07
呵呵,关键是我的服务器根本没有真实存在的域名,都是输入ip:3000的,是否要在客户机设置hosts才能在ie地址栏使用不同域名登陆?也不行吧,就一个ip,难道要按装两个md? 。各位能不能教教我在登陆页面做个下拉框来选择登陆域名啊?我想也只有这个办法了,原来咱们论坛的一个做下拉框的帖子我访问不到了。谢谢。

地址簿的问题解决了,只要将公共文件夹打开,并将各域的地址簿权限设置成default(anyone)可查询、可读就可以了,并且设置公共地址簿的联系人文件夹和wc服务同步就可以自动更新了。
作者: truepenny    时间: 2007-1-9 13:29
顶一下,各位帮帮忙,谢谢!
作者: wxhsh    时间: 2007-1-9 14:19
原帖由 truepenny 于 2007-1-8 11:07 发表
呵呵,关键是我的服务器根本没有真实存在的域名,都是输入ip:3000的,是否要在客户机设置hosts才能在ie地址栏使用不同域名登陆?也不行吧,就一个ip,难道要按装两个md? 。各位能不能教教我在登陆页面做个下 ...

没做优化,大致写了一个,你参考一下:
  1. 修改\mdaemon\WorldClient\Templates\相应主题\Logon.html找到<form action="<$ACTION$><$IF CGI:Theme$>&Theme=<$CGI:THEME$><$ENDIF$>" target="_top" method="post">
  2. 替换成
  3. <form action="<$ACTION$><$IF CGI:Theme$>&Theme=<$CGI:THEME$><$ENDIF$>" target="_top" method="post" onsubmit="User.value=User.value+'@'+domain_name.value">
  4. 找到
  5. <tr align="center">
  6.      <td align="left" valign="top" class="loginText"><b>[$Password$]:</b></td>
  7.      <td align="left" valign="top"><input class="loginInput" type="password" name="assword" autocomplete="off" size="18" onfocus="showFocus(this)" onblur="showBlur(this)" /></td>
  8.     </tr>
  9. 插入
  10. <tr>
  11.       <td>域名:</td>
  12.       <td align="left" valign="top">
  13.         <select name="domain_name">
  14.           <option value="test.com">test.com</option>
  15.           <option value="test1.com">test1.com</option>
  16.            </select>
  17.         </td>
  18.      </tr>
复制代码

[ 本帖最后由 wxhsh 于 2007-1-9 14:23 编辑 ]
作者: truepenny    时间: 2007-1-9 15:23
试过可用, 非常感谢!
作者: lwz_08    时间: 2007-1-10 00:34
有个问题,退出后登录框依然显示MAIL全地址
作者: wxhsh    时间: 2007-1-10 09:40
原帖由 lwz_08 于 2007-1-10 00:34 发表
有个问题,退出后登录框依然显示MAIL全地址

最简单的办法,将
  1. <input class="loginInput" type="text" name="User" size="18" value="<$User$>" onfocus="showFocus(this)" onblur="showBlur(this)" />替换为
  2. <input class="loginInput" type="text" name="User" size="18" value="" onfocus="showFocus(this)" onblur="showBlur(this)" />

  3. 不过这样就不保存用户名了,考究点就在init函数中把<$Use$>r参数 @后的值都替换为空(包括@),这样就可保持一致了。
复制代码

作者: lwz_08    时间: 2007-1-10 10:50
嗯,上面方法可以,第一次的做法得用户手动去清空,比较讨厌的问题
作者: meet21century    时间: 2007-1-10 12:56
不错啊!但是如果下拉菜单能自动搜索md的主域就更好!不知道如何连接md的数据库啊?
作者: meet21century    时间: 2007-1-10 13:02
不是主域,打错!是所有域名!
作者: wxhsh    时间: 2007-1-10 13:39
原帖由 meet21century 于 2007-1-10 13:02 发表
不是主域,打错!是所有域名!

参考SQL语句:

  1. SELECT DomainName    FROM Domains
复制代码

作者: asionliang    时间: 2007-1-10 14:16
麻烦WXHSH整理一下
作者: wxhsh    时间: 2007-1-10 16:12
原帖由 asionliang 于 2007-1-10 14:16 发表
麻烦WXHSH整理一下


这个好象不属于MD的范畴,后来想了一下,实现没那么简单,因为WC是用自己的解释器,在没有资料的情况下它的次域变量我也没找到,WA的变量也不能用,传统方法先在LOGIN页前写个临时的页面,用RECORDSET组件把DOMAIN值缓存进COOKIE中,然后转向到登录页面,用JS从COOKIE中把值取出,赋到列表中,然后把此COOKIE清除,这个好象超出本论坛的范围,就不讨论了,有兴趣的朋友可以试试。
作者: meet21century    时间: 2007-1-10 17:11
原帖由 wxhsh 于 2007-1-10 13:39 发表

参考SQL语句:

SELECT DomainName    FROM Domains




你所说的domains是数据库的表名吗?关键是md是什么类型的数据库?我想知道啊!求高人指点!另外我只会mysql!
作者: wxhsh    时间: 2007-1-10 17:15
原帖由 meet21century 于 2007-1-10 17:11 发表




你所说的domains是数据库的表名吗?关键是md是什么类型的数据库?我想知道啊!求高人指点!另外我只会mysql!


MD支持ODBC方式的连接,所以也无所谓什么类型数据库,MYSQL是支持的。
作者: meet21century    时间: 2007-1-10 17:18
那你的md有没用到mysql啊?
作者: wxhsh    时间: 2007-1-10 17:20
原帖由 meet21century 于 2007-1-10 17:18 发表
那你的md有没用到mysql啊?


我连的是MS SQL,在APP目录下有生成脚本,你看一下,很简单的。
作者: meet21century    时间: 2007-1-10 17:25
CREATE TABLE Domains (
        DomainName varchar(66) NOT NULL,
        DomainID int auto_increment NOT NULL,
        PRIMARY KEY (DomainID),
        CONSTRAINT IdxConstraint UNIQUE (DomainName)       
)
GO

CREATE TABLE UserList (
        UserID int auto_increment NOT NULL,
        Mailbox varchar(60) NOT NULL,
        FullName varchar(100) NOT NULL,
        MailDir varchar(255) NOT NULL,
        Password varchar(32) NOT NULL,
        AutoDecode bit NOT NULL,
        IsForwarding bit NOT NULL,
        AllowAccess int NOT NULL,
        AllowChangeViaEmail bit NOT NULL,       
        KeepForwardedMail bit NOT NULL,
        HideFromEveryone bit NOT NULL,
        EncryptMail bit NOT NULL,
        ApplyQuotas bit NOT NULL,
        EnableMultiPop bit NOT NULL,
        CanModifyGAB bit NOT NULL,
        CalendarOnly bit NOT NULL,
        MaxMessageCount int NOT NULL,
        MaxDiskSpace int NOT NULL,
        DomainID int NOT NULL,
        PRIMARY KEY(UserID),
        CONSTRAINT IdxConstraint UNIQUE (Mailbox, DomainID),
        FOREIGN KEY (DomainID) REFERENCES Domains
)
GO
作者: meet21century    时间: 2007-1-10 17:26
好象没有mssql啊
作者: wxhsh    时间: 2007-1-10 17:28
标题: 回复 #25 meet21century 的帖子
就是sqlserver的那个脚本,因为是微软出的,通常都称为ms sql
作者: meet21century    时间: 2007-1-10 17:30
受教了!我好象有你私人邮箱啊!有时间多交流下!求高人指点!
作者: meet21century    时间: 2007-1-10 17:31
我的邮箱!meet21century@163.com
作者: lwz_08    时间: 2007-1-10 17:58
MD支持ODBC连接
MYsql   sql server    oracl等

以MYSQL方式连接时,需要官方下载ODBC的东东,GOXIA上次讲过,你搜一下
作者: asionliang    时间: 2007-1-11 08:33
原帖由 wxhsh 于 2007-1-10 16:12 发表


这个好象不属于MD的范畴,后来想了一下,实现没那么简单,因为WC是用自己的解释器,在没有资料的情况下它的次域变量我也没找到,WA的变量也不能用,传统方法先在LOGIN页前写个临时的页面,用RE ...



嘿嘿。与MD相关都可以讨论
作者: wxhsh    时间: 2007-1-11 09:58
标题: 回复 #30 asionliang 的帖子
EN,版主说的是,最好谁有MD的SDK手册,用第三方的方法总归太费事了。




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://www.5dmail.net/bbs/) Powered by Discuz! X3.2