我如何跟踪退回的电子邮件?

Posted

技术标签:

【中文标题】我如何跟踪退回的电子邮件?【英文标题】:how do i track the bounced emails? 【发布时间】:2011-07-21 02:21:08 【问题描述】:

我想跟踪从我的服务器发送的退回邮件。看了几篇,发现被退回的邮件是存放在邮箱里的,直接读取邮箱文件就可以检测到。

check for bounced mails with php

现在我想知道如何读取服务器的邮箱文件?发送邮件后是否需要手动运行 php 脚本文件以将退回的电子邮件记录到我的数据库中?是否需要解析邮件内容以查明被退回的邮件?

我的目标是为我的 php 服务器提供流行电子邮件访问权限。

【问题讨论】:

【参考方案1】:

这是我在 one.com 上连接到接收邮件服务器的方式

$inbox = imap_open('imap.one.com:993/imap/ssl/novalidate-certINBOX', 'your@address.com', 'xxxxxxxx') or die('Cannot connect: ' . print_r(imap_errors(), true));

/* grab emails */
$emails = imap_search($inbox,'ALL');

/* if emails are returned, cycle through each... */
if($emails) 

    /* put the newest emails on top */
    rsort($emails);

    /* for every email... */
    foreach($emails as $email_number) 

        $message = imap_fetchbody($inbox,$email_number,2);

        $pieces = explode(" ", $message);

        foreach($pieces as $piece)

            $findme   = '@';
            //$findme2 = '.com';

            $pos = strpos($piece, $findme);

            if ($pos !== false) 
                    echo $piece;
            


        

    


退回的电子邮件地址在邮件正文中,我将其回显到浏览器。

【讨论】:

以上是关于我如何跟踪退回的电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中跟踪使用 GMAIL API 发送的电子邮件的已发送、已打开、已单击、已退回、已阻止等电子邮件传递状态

VSTO - Outlook 如何从邮件 ID 跟踪电子邮件

如何使用 System.Net.Mail 设置退回地址?

如何阻止IIS SMTP服务器发送退回电子邮件?

如何使用带有 Postfix 的 AWS SES 接收退回的邮件

使用 GMAIL API 跟踪电子邮件发送状态