PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mailparse_stream_encode> <mailparse_msg_parse
Last updated: Fri, 22 Aug 2008

view this page in

mailparse_rfc822_parse_addresses

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_rfc822_parse_addressesProcesa direcciones compatibles con RFC 822

Descripción

array mailparse_rfc822_parse_addresses ( string $direcciones )

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

Lista de parámetros

direcciones

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

Note: Esta cadena no debe contener el nombre de la cabecera.

Valores retornados

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

Example #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 seria:

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)
  }
}



mailparse_stream_encode> <mailparse_msg_parse
Last updated: Fri, 22 Aug 2008
 
add a note add a note User Contributed Notes
mailparse_rfc822_parse_addresses
dancablam
07-May-2007 08:05
To just extract the email address out of an RFC822 line, it's faster and more reliable to just use a simple regex such as:

<?php
$rfc
= '"Bob Smith" <bob@smith.com>';
preg_match('/[\\w\\.\\-+=*_]*@[\\w\\.\\-+=*_]*/', $rfc , $regs);
$parsed = $regs[0];
?>

The above code will pull out: bob@smith.com

No matter the variation of the RFC822 line, as long as there's a valid email address in it somewhere, the above regex will find it.
24-Nov-2004 01:12
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);
mat at phpconsulting dot com
25-Apr-2003 06:59
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.

mailparse_stream_encode> <mailparse_msg_parse
Last updated: Fri, 22 Aug 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites