PHP Conference Japan 2024

mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addresses解析符合 RFC 822 的地址

描述

mailparse_rfc822_parse_addresses(字符串 $addresses): 数组

解析符合 » 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 条注释

匿名
20 年前
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);
mat at phpconsulting dot com
21 年前
如果由于某些原因您无法将 mailparse 编译到您的 PHP 安装中,您还将在 Mail_MIME PEAR 类中找到一个极其相似的函数,特别是在 mimeDecode.php 中。
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