PHP 8.4.0 RC4 available for testing

mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addressesProcesa direcciones compatibles con RFC 822

Descripción

mailparse_rfc822_parse_addresses(string $addresses): array

Procesa una lista de recipientes compatible con » RFC 822, tal como la que es encontrada en una cabecera To:.

Parámetros

addresses

Una cadena que contiene direcciones, como: Wez Furlong <wez@example.com>, pepe@example.com

Nota:

Esta cadena no debe contener el nombre de la cabecera.

Valores devueltos

Devuelve una matriz de matrices asociativas con las siguientes claves para cada recipiente:

display El nombre del recipiente, para propósitos de muestra. Si esta parte no es definida para un recipiente, esta clave contendrá el mismo valor que address.
address La dirección de correo electrónico
is_group true si el recipiente es un grupo de noticias, false de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de mailparse_rfc822_parse_addresses()

<?php

$to
= 'Wez Furlong <wez@example.com>, pepe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(16) "pepe@example.com"
    ["address"]=>
    string(16) "pepe@example.com"
    ["is_group"]=>
    bool(false)
  }
}

add a note

User Contributed Notes 3 notes

up
0
murph dot vienna at gmail dot com
10 years ago
<?php
// input: My Test Email <some.test.email@somewhere.net>

function get_displayname_from_rfc_email($rfc_email_string) {
// match all words and whitespace, will be terminated by '<'
$name = preg_match('/[\w\s]+/', $rfc_email_string, $matches);
$matches[0] = trim($matches[0]);
return
$matches[0];
}
// Output: My Test Email

function get_email_from_rfc_email($rfc_email_string) {
// extract parts between the two parentheses
$mailAddress = preg_match('/(?:<)(.+)(?:>)$/', $rfc_email_string, $matches);
return
$matches[1];
}
// Output: some.test.email@somewhere.net
?>
up
0
Anonymous
19 years ago
An alternative to the mailparse_rfc822_parse_addresses() function is Mail_RFC822::parseAddressList() from Pear:

http://pear.php.net/manual/en/package.mail.mail.php

It parses the string and returns a structured tree of data. Returns a pear_error object if the string is not valid.

Example:

require_once "PEAR.php";
require_once "Mail/RFC822.php";

$addr= "Hi <hi@world.org>";

$res= Mail_RFC822::parseAddressList($addr);
if (PEAR::isError($res)) die("NOT VALID: " . $res->getMessage() . "\n");
echo "OK. Data:\n";
print_r($res);
up
0
mat at phpconsulting dot com
21 years ago
If for some reason you cannot compile mailparse into your install of PHP, you will also find an extremely similar function in the Mail_MIME PEAR class, specifically in mimeDecode.php.
To Top