PHP-IMAP-是否可以从已发送的电子邮件中获取收件人的电子邮件地址?

时间:2018-07-27 10:32:43

标签: php email imap

我正在尝试从我的电子邮件客户端发送的电子邮件中检索收件人的电子邮件地址。我使用PHP和IMAP来完成工作,但是由于无法从电子邮件中获取收件人的电子邮件地址,因此我目前处于困境。似乎只能获得接收方的名称。

有人知道这是否可以做到以及如何做到吗?

1 个答案:

答案 0 :(得分:1)

可以从标题信息中获取收件人的电子邮件地址。您需要为每条消息调用imap_headerinfo()函数。

imap_headerinfo($connection,$msg);

这将返回一个带有所有标头的对象,如下所示:

stdClass Object
(
    .
    .
    [to] => Array
        (
            [0] => stdClass Object
                (
                    [mailbox] => testemail
                    [host] => gmail.com
                )
        )
)

您可以将mailbox属性的hostto连接起来以获取收件人的电子邮件。这是一个示例:

$connection = imap_open($host,$uname,$pwd) or die(imap_last_error());
$messages = imap_search($connection,'ALL');

foreach($messages as $msg) {
    $header = imap_headerinfo($connection,$msg);

    foreach($header->to as $reciever){
        echo $reciever->mailbox.'@'.$reciever->host.'<br/>';
    }
}

希望有帮助!