0

osticket版本 1.10 中,我希望在电子邮件输入字段上应用验证规则,以便仅具有来自特定域的电子邮件 ID 的用户可以打开新票证或申请注册,即电子邮件地址始终应类似于 id@specificdomain.com 。但是我尝试编辑include /class.validator.php中的is_email()函数,如下所示

static function is_email($email, $list=false, $verify=false){
        $domains = array('specificdomain.com');
        $pattern = "/^[a-z0-9._%+-]+@([a-z0-9.-]+.)*(" . implode('|', $domains) . ")$/i"; 
        if (!preg_match($pattern, $email)) {
            return false;
        }

    }

但是没有用。任何机构都可以在这方面帮助我。

4

2 回答 2

1

请试试这个模式/(\W|^)[\w.+\-]*@specificdomain\.com(\W|$)/

     static function is_email($email, $list=false, $verify=false){        
        $domains = 'specificdomain.com';
        $pattern = "/(\W|^)[\w.+\-]*".$domains."(\W|$)/"; 
          if (!preg_match($pattern, $email)) {
            return FALSE;               
          }else{
            return TRUE;
          }

      }
于 2017-03-02T05:20:51.243 回答
0

您可以为每个域创建一个组织。继续用户->组织->定义一个,然后单击其名称->设置选项卡->定义域

这将允许该域中的所有用户打开呼叫。他们还将被添加为组织页面下的用户。

如果你想屏蔽其他域名,你必须去管理面板,然后设置->用户->需要注册,并在注册方式中选择“只有代理可以注册用户”。不管看起来如何,如果用户是域的一部分,即使他尚未注册,他也可以打开呼叫。

有点晚了,但我希望它会帮助你。

于 2017-03-30T15:12:44.583 回答