diff options
| -rw-r--r-- | plugins/squirrelmail_usercopy/squirrelmail_usercopy.php | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php b/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php index 82db3320e..5d7cc012e 100644 --- a/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php +++ b/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php @@ -70,8 +70,14 @@ class squirrelmail_usercopy extends rcube_plugin // copy address book $contacts = $rcmail->get_address_book(null, true); if ($contacts && count($this->abook)) { - foreach ($this->abook as $rec) - $contacts->insert($rec, true); + foreach ($this->abook as $rec) { + // #1487096 handle multi-address and/or too long items + $rec['email'] = array_shift(explode(';', $rec['email'])); + if (check_email(idn_to_ascii($rec['email']))) { + $rec['email'] = idn_to_utf8($rec['email']); + $contacts->insert($rec, true); + } + } } // mark identity as complete for following hooks |
