Очистить угловые кавычки на phpMalier из параметра - PullRequest
0 голосов
/ 31 мая 2018

Мое сообщение о параметре приходит с кавычками углов, например:

MyFromName <New message!>

Я пытаюсь $mail->ClearAllRecipients(), но не работает.

Любые советы?

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Неа.Вы не можете сделать это.Это часть спецификации электронной почты , в которой говорится, что почтовый ящик (о котором вы говорите) состоит из:

mailbox         =   name-addr / addr-spec

name-addr       =   [display-name] angle-addr

angle-addr      =   [CFWS] "<" addr-spec ">" [CFWS] /
                   obs-angle-addr

Это означает, что адрес может быть в одномиз двух форм, когда он появляется в заголовке;как имя и адрес:

User Name <user@example.com>

или просто как адрес:

user@example.com

Почти все используют первый, и обычно, если имя дано, это отображается в предпочтенииадресная часть, однако, это полностью до клиентского приложения, которое вы используете для отображения сообщения, над которым у вас нет никакого контроля.

Если вы удалите угловые скобкии сохраните имя, ваше сообщение никогда не будет доставлено, потому что это неверный формат.

0 голосов
/ 31 мая 2018

Вы можете использовать функцию замены, например;

function removeAngleBrackets($from)
{
    // Create an array of things to replace
    // Use both standard and html encoded to cover basis (you could use the ASCII too)
    $replace = array("<", ">", "&lt;", "&gt;");
    // Create the variable to replave the strings with
    $replace_with = "";
    // Replace this in the string and return the value when done
    return str_replace($replace, $replace_with, $from);
}

Вызов этой строки приведет к удалению угловых скобок

...