我正在使用PHPMailer发送消息和PHP imap_search来搜索邮件。我的情景是 -
在这里,我需要在用户的收件箱中搜索回复。我需要搜索用户是否收到电子邮件的任何回复。我不知道怎么能这样做。
我正在使用GMAIL SMTP来发送电子邮件。
由于
答案 0 :(得分:0)
我们找到了这样的解决方法。要在PHPMailer中发送电子邮件,我们通过电子邮件发送了一个唯一ID,并将其分配到自定义标头中。 (您可以在邮件标题中的收件人端验证此邮件ID。)
let list = [{
DisplayAQI: 20
}, {
DisplayAQI: 100
}, {
DisplayAQI: 200
}, {
DisplayAQI: 10
}];
let result = list.sort(function(a, b) {
return b.DisplayAQI - a.DisplayAQI
})[0];
console.log(result)
现在要搜索电子邮件,我们使用了imap_search。
$mid="<" . md5('MAXIFY'.(idate("U")-1000000000).uniqid()).'-sales@mydomain.com>';
$mail->MessageID = $mid;
$mail->addCustomHeader('In-Reply-To', $mid);
$mail->send();
概述提供了消息ID等的详细信息。从这里您可以跟踪这是否是回复。 但是,在很少的电子邮件中我们发现消息ID不存在。因此,我们在电子邮件正文中添加了一个唯一ID,并使用imap_search的搜索条件就像 -
$date="25-May-2018";
$emails = imap_search($inbox,'ON "'.$date.'"' );
foreach($emails as $email_number)
{
/* get information specific to this email */
$overview = imap_fetch_overview($inbox,$email_number,0);
print_r($overview);
}
我没有找到任何其他方式来跟踪回复。