Index: user_mailman_register.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_mailman_register/user_mailman_register.module,v
retrieving revision 1.30.2.21.2.41
diff -u -r1.30.2.21.2.41 user_mailman_register.module
--- user_mailman_register.module	19 Jan 2010 09:46:16 -0000	1.30.2.21.2.41
+++ user_mailman_register.module	19 Jan 2010 10:43:50 -0000
@@ -1009,7 +1009,7 @@
   if (!$user_mail) {
     $user_mail = $account->mail;
   }
-  $encoded_email = urlencode($user_mail);
+  $encoded_email = urlencode(preg_quote($user_mail));
   $regurl = rtrim($list['webadmin'], '/') .'/members?findmember='. $encoded_email;
   $regurl .= "&setmemberopts_btn&adminpw=". urlencode($list['webpass']);
   //Get stored subscription only for authenticated users
@@ -1023,12 +1023,14 @@
   $interval = variable_get('user_mailman_register_checkinterval', 10800);
   if ($interval >= 0 && $subscription['lchecktime'] < time() - $interval) {
     if ($list['version']) {
-      $str_email = $encoded_email;
+      $str_email = urlencode($user_mail);
     }
     else {
       $str_email = $user_mail;
     }
+    $str_email = preg_quote($str_email);
     $httpreq = _user_mailman_register_parse_http($regurl, $list);
+
     if ($httpreq->umr_ok) {
       $subscription['lmod'] = 0;
       $old_status = $subscription['lstatus'];
