diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php
index d08ef21d22a4697af5b64ee891c4eca9f7aaadce..58eea0b546f27862a77d61e1c4fbfaf17a4b5ed8 100644
--- a/interface/web/mail/form/mail_user_filter.tform.php
+++ b/interface/web/mail/form/mail_user_filter.tform.php
@@ -109,6 +109,10 @@ $form["tabs"]['filter'] = array (
 		'target' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^[a-zA-Z0-9\.\-\_]{0,100}$/',
+														'errmsg'=> 'target_error_regex'),
+									),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
diff --git a/interface/web/mail/lib/lang/en_mail_user_filter.lng b/interface/web/mail/lib/lang/en_mail_user_filter.lng
index 0ded74e4f9fcefefbd933f8642ccd96874f9675d..28867c59c3b954455a76b6d8cfe63f72ea72873c 100644
--- a/interface/web/mail/lib/lang/en_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/en_mail_user_filter.lng
@@ -6,4 +6,5 @@ $wb["active_txt"] = 'Active';
 $wb["rulename_error_empty"] = 'Name is empty.';
 $wb["searchterm_is_empty"] = 'Search term is empty.';
 $wb["source_txt"] = 'Source';
+$wb["target_error_regex"] = 'The target may only contain these characters: a-z, 0-9, -, . and _';
 ?>
\ No newline at end of file
diff --git a/interface/web/mail/mail_user_filter_edit.php b/interface/web/mail/mail_user_filter_edit.php
index 03b5232f637d53bc3632170c16a561f94e1e8bd1..35ed135255cc22c980e27ac7571f2a557b8c32a2 100644
--- a/interface/web/mail/mail_user_filter_edit.php
+++ b/interface/web/mail/mail_user_filter_edit.php
@@ -62,6 +62,9 @@ class page_action extends tform_actions {
 		// Set the mailuser_id
 		$this->dataRecord["mailuser_id"] = $mailuser["mailuser_id"];
 		
+		// Remove leading dots
+		if(substr($this->dataRecord['target'],0,1) == '.') $this->dataRecord['target'] = substr($this->dataRecord['target'],1);
+		
 		parent::onSubmit();
 	}