我如何跟踪退回的电子邮件?
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 跟踪电子邮件