在 osticket 版本1.10中,我希望在电子邮件输入字段中应用验证规则,以便仅具有来自特定域的电子邮件ID的用户可以打开新票证或申请注册,即电子邮件地址始终应该看起来喜欢id@specificdomain.com。但我试图编辑 includes / 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;
}
}
但没用。在这方面,任何人都可以帮助我。
答案 0 :(得分: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;
}
}
答案 1 :(得分:0)
您可以为每个域创建一个组织。继续用户 - >组织 - >定义一个,然后点击它的名字 - >设置标签 - >定义域
这将允许该域中的所有用户打开呼叫。它们也将作为用户添加到组织页面下。
如果要阻止其他域,则必须转到管理面板,然后设置 - >用户 - >按需要注册,并在注册方法中选择“只有代理可以注册用户”。尽管看起来如果用户是域名的一部分,即使他尚未注册,他也可以打开电话。
有点晚了,但我希望它能帮到你。