我在iPhone上使用IMAP配置了辅助Exchange邮箱。这一切看起来都能正常工作,除非在手机上删除了一条消息,它仍然在Outlook中正常显示。我在手机上设置“删除已删除的邮件”设置似乎并不重要。
据我所知,这是因为手机没有删除已删除的邮件,而Exchange在Outlook中显示已删除但未删除的邮件。
我正在寻找一种自动解决方案,在手机上删除消息和在Outlook中消失之间没有很大的延迟。从手机中删除时,该消息也应显示在已删除的项目中。
我考虑过创建一个后台进程,它通过IMAP连接到邮箱,并处于IDLE模式,直到文件夹中有一条已删除的邮件。然后它将清除文件夹并返回IDLE模式。这不适用于多个文件夹(没有多个实例),但它可能会完成这项工作。
有关支持IMAP IDLE的易于编写脚本的工具或库的任何建议吗?
答案 0 :(得分:2)
我完全可以建议使用Mail::MAPClient
模块使用简单的Perl客户端编写这样的进程。
#!/usr/bin/perl -w
use strict;
use Mail::IMAPClient;
# returns an unconnected Mail::IMAPClient object:
my $imap = Mail::IMAPClient->new(
Server => $host,
User => $id,
Password=> $pass,
) or die "Cannot connect to $host as $id: $@";
$imap->expunge();
然后可以从crontab
或其他一些调度程序运行。