php - 如何使用 imap_open (PHP) 将收件箱中的 IMAP 文件夹排除在阅读之外
问题描述
我正在编写一个 PHP 脚本,它读取收件箱中的所有邮件,通过 Header-Info 检测特殊邮件并将处理后的邮件移动到文件夹中。我想将此文件夹排除在进一步阅读之外,目前我的脚本还找到了已处理文件夹中的邮件。我正在使用这样的 imap_open 函数:
$host = "{" . HOST . ":" . PORT . "/imap/ssl/novalidate-cert}INBOX";
$email = EMAIL;
$password = PASSWORD;
$imap = imap_open($host, $email, $password) or die("Cannot Connect " . imap_last_error());
$emailIds = imap_search($imap, 'FROM ' . SCAN_EMAIL_FOR_OFFERS, SE_UID);
if (!empty($emailIds)) {
foreach ($emailIds as $emailId) {
$email = new readMail();
$header = $email->get_headerinfo($imap, $emailId);
if (strpos($header->subject, "Angebot Nr.") != false) {
...Doing stuff...
$email->move_mail($imap, $emailId, MOVE_PROCESSED_TO_FOLDER);
}
}
} else {
echo "No new offers.";
}
imap_close($imap);
问候
编辑:这是 readMail-Class 的移动功能......
function move_mail($imap, $uid, $inboxFolder) {
$msgNo = imap_msgno($imap, $uid);
$movingMail = imap_mail_move($imap, $msgNo, 'INBOX/'. $inboxFolder);
if($movingMail == false) {die(imap_last_error());}
}
解决方案
推荐阅读
- ruby - 从字符串中的多个字符获取位置
- spring - Spring oauth2客户端未发送授权标头
- r - 获取 r 数据框的每个组内的排名
- sql - 创建一个新视图从多个表中提取但不断收到“缺少关键字”错误
- angularjs - ngView 是否受嵌套的 ngController 影响?
- tensorflow - TensorFlow 中 tf.while_loop 并行参数的解释
- tensorflow - 喀拉斯。如何更改模型以使其不使用嵌入层
- android - Android:在每个循环迭代中等待,直到我从每个循环迭代内开始的活动返回
- node.js - 使用 node.js 生成 Faker 数据
- angular - 多次调用 Angular EventEmitter