improve (failsafe for non matching vartype personal (array instead of expected string)) imap_rfc822_write_address own fallback function

This commit is contained in:
Klaus Leithoff 2014-07-11 11:34:11 +00:00
parent a0bf45da93
commit 772ebe6a41

View File

@ -150,6 +150,12 @@ if (!function_exists('imap_rfc822_write_address'))
*/
function imap_rfc822_write_address($mailbox, $host, $personal)
{
if (is_array($personal)) {
foreach ($personal as $e) {
$p .= ($p?' ':'').$e;
}
$personal = $p;
}
//if (!preg_match('/^[!#$%&\'*+/0-9=?A-Z^_`a-z{|}~-]+$/u', $personal)) // that's how I read the rfc(2)822
if ($personal && !preg_match('/^[0-9A-Z -]*$/iu', $personal)) // but quoting is never wrong, so quote more then necessary
{