mirror of
https://github.com/php/php-src.git
synced 2024-11-27 20:03:40 +08:00
Mail.php: use the Mail_rfc822:: class to parse addresses. There is a small
performance penalty, but it handles rfc822 groups, which imap_rfc822_parse_adrlist doesn't. rfc822.php: Style fixes, some small tweaks/optimizations, and work around a bit of object weirdness that caused the test for $this (to see if we were being called statically) to not be sufficient.
This commit is contained in:
parent
cc51599f4a
commit
b83ee202c4
@ -116,7 +116,9 @@ class Mail extends PEAR {
|
||||
|
||||
foreach ($headers as $key => $val) {
|
||||
if ($key == 'From') {
|
||||
$from_arr = imap_rfc822_parse_adrlist($val, 'localhost');
|
||||
include_once 'Mail/rfc822.php';
|
||||
|
||||
$from_arr = Mail_rfc822::parseAddressList($val, 'localhost');
|
||||
$from = $from_arr[0]->mailbox . '@' . $from_arr[0]->host;
|
||||
if (strstr($from, ' ')) {
|
||||
// Reject outright envelope From addresses with spaces.
|
||||
@ -150,6 +152,8 @@ class Mail extends PEAR {
|
||||
*/
|
||||
function parseRecipients($recipients)
|
||||
{
|
||||
include_once 'Mail/rfc822.php';
|
||||
|
||||
// if we're passed an array, assume addresses are valid and
|
||||
// implode them before parsing.
|
||||
if (is_array($recipients)) {
|
||||
@ -159,11 +163,11 @@ class Mail extends PEAR {
|
||||
// Parse recipients, leaving out all personal info. This is
|
||||
// for smtp recipients, etc. All relevant personal information
|
||||
// should already be in the headers.
|
||||
$addresses = imap_rfc822_parse_adrlist($recipients, 'localhost');
|
||||
$addresses = Mail_rfc822::parseAddressList($recipients, 'localhost', false);
|
||||
$recipients = array();
|
||||
if (is_array($addresses)) {
|
||||
foreach ($addresses as $ob) {
|
||||
$recipients[] = $ob->mailbox . '@' . $ob->host . ' ';
|
||||
$recipients[] = $ob->mailbox . '@' . $ob->host;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user