mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addresses解析符合 RFC 822 的地址

描述

mailparse_rfc822_parse_addresses(string $addresses): array

解析符合 » RFC 822 的收件人列表,例如在 To: 头部中找到的列表。

参数

addresses

包含地址的字符串,例如:Wez Furlong <[email protected]>, [email protected]

注意:

此字符串不能包含标题名称。

返回值

返回一个关联数组,其中包含每个收件人的以下键:

display 收件人姓名,用于显示目的。如果此部分未为收件人设置,则此键将保存与 address 相同的值。
address 电子邮件地址
is_group true 如果收件人是新闻组,否则为 false

示例

示例 #1 mailparse_rfc822_parse_addresses() 示例

<?php

$to
= 'Wez Furlong <[email protected]>, [email protected]';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

上面的示例将输出

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "[email protected]"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(15) "[email protected]"
    ["address"]=>
    string(15) "[email protected]"
    ["is_group"]=>
    bool(false)
  }
}

添加注释

用户贡献的注释 3 个注释

1
匿名
19 年前
mailparse_rfc822_parse_addresses() 函数的替代方法是 Pear 中的 Mail_RFC822::parseAddressList()

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

它解析字符串并返回一个结构化的数据树。如果字符串无效,则返回一个 pear_error 对象。

示例

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

$addr= "Hi <[email protected]>";

$res= Mail_RFC822::parseAddressList($addr);
if (PEAR::isError($res)) die("NOT VALID: " . $res->getMessage() . "\n");
echo "OK. Data:\n";
print_r($res);
1
mat at phpconsulting dot com
21 年前
如果您由于某种原因无法将 mailparse 编译到您的 PHP 安装中,您还会在 Mail_MIME PEAR 类中找到一个非常类似的函数,特别是在 mimeDecode.php 中。
-1
murph dot vienna at gmail dot com
10 年前
<?php
// 输入:My Test Email <[email protected]>

function get_displayname_from_rfc_email($rfc_email_string) {
// 匹配所有单词和空格,将以 '<' 终止
$name = preg_match('/[\w\s]+/', $rfc_email_string, $matches);
$matches[0] = trim($matches[0]);
return
$matches[0];
}
// 输出:My Test Email

function get_email_from_rfc_email($rfc_email_string) {
// 提取两个括号之间的部分
$mailAddress = preg_match('/(?:<)(.+)(?:>)$/', $rfc_email_string, $matches);
return
$matches[1];
}
// 输出:[email protected]
?>
To Top