我目前有一个服务器postfix / dovecot / postfixadmin和squirrelmail运行多个域。 我使用mysql来存储帐户/域的详细信息。 但是,如果我转到我的服务器上的域的Web邮件,我可以login到我的服务器上的任何域上的所有电子邮件帐户。 我怎样才能使它只能使用正确的域名login到malaccount? 如果我这样做,是否也可以允许直接使用服务器的IP地址login到所有mailaccount?
简而言之,如果用户访问domain1.com/webmail,他只能使用@ domain1.comloginemailaccounts,但如果用户转到ABCD / webmail,他可以login到服务器上的所有emailaccounts。
编辑:
我觉得我的post还不够清晰,所以我会试着更好地解释一下:
我有一个后缀/ squirrelmail安装,squirrelmail可以访问任何域通过domain.com/webmail(/ webmail别名)。 但是因为我只有一个安装,所以可以使用任何域login我的服务器上的所有域。 例如,如果我有domain1.com和domain2.com,您可以通过www.domain2.com/webmail的[email protected]。 我不想要这个。 这个规则的唯一例外是我希望能够访问完整的邮件服务器,所有域名上的所有电子邮件都使用服务器的IP地址(ABCD / webmail)。 对不起,如果我的问题不清楚,英语不是我的主要语言,所以我有时会遇到一些麻烦,用英语解释我的问题。
为此,您需要更改Squirrelmail中的一些代码。
login的页面,你可以用PHP来查看域名,然后确保只有当前域名在@之后。 如果您不是PHP开发人员,则可能需要一些时间才能了解如何执行此操作,而且我不推荐此解决scheme。
您应该做的事情是创build一个所有用户都login的webmail,然后SSLencryption页面,以确保用户不会通过明文发送电子邮件凭据,然后将domain.com/webmailredirect到例如https://ssl.yoursite.com/webmail
我已经构build了几个托pipe数千个客户端的共享托pipe环境,但没有一个是专门针对每个域的。 所有这些都放置在一个安全的位置(只是因为我拒绝build立没有SSL的networking邮件访问)。
现在应该是这种方式的原因是,用户通常从任何地方访问他们的networking邮件,这大大增加了有人嗅探networkingstream量的风险,从而获得访问。
您也不希望发生这种情况,因为如果发生这种情况,您的服务器可能会被用作未经请求的批量电子邮件(SPAM)的来源。