diff --git a/interface/lib/plugins/mail_user_filter_plugin.inc.php b/interface/lib/plugins/mail_user_filter_plugin.inc.php
index df939d376daf5e5deff7a96fff277842203a057f..774da83994dbe8723b80b473e6f9b266d8c9ca26 100644
--- a/interface/lib/plugins/mail_user_filter_plugin.inc.php
+++ b/interface/lib/plugins/mail_user_filter_plugin.inc.php
@@ -141,13 +141,22 @@ class mail_user_filter_plugin {
 			$content .= 'if header :regex    ["'.strtolower($page_form->dataRecord["source"]).'"] ["';
 
 			$searchterm = preg_quote($page_form->dataRecord["searchterm"]);
-			$searchterm = str_replace('\\[', '\\\\[', $searchterm);
-			$searchterm = str_replace('\\]', '\\\\]', $searchterm);
+			$searchterm = str_replace(
+				array(
+					'"',
+					'\\[',
+					'\\]'
+				),
+				array(
+					'\\"',
+					'\\\\[',
+					'\\\\]'
+				), $searchterm);
 
 			if($page_form->dataRecord["op"] == 'contains') {
 				$content .= ".*".$searchterm;
 			} elseif ($page_form->dataRecord["op"] == 'is') {
-				$content .= $searchterm."$";
+				$content .= "^".$searchterm."$";
 			} elseif ($page_form->dataRecord["op"] == 'begins') {
 				$content .= " ".$searchterm."";
 			} elseif ($page_form->dataRecord["op"] == 'ends') {