Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1768|回复: 1
打印 上一主题 下一主题

收取控制 收取最近多少封与最近多少天的区别与原理

[复制链接]

388

主题

602

帖子

2218

积分

金牌会员

Rank: 6Rank: 6

积分
2218
跳转到指定楼层
楼主
发表于 2016-4-5 18:09:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hechengjin 于 2016-4-5 18:35 编辑

mail.server.%serverkey%.autosync_max_age_days    所有日期单位都会转换为天存在这里
NS_IMPL_SERVERPREF_INT(nsImapIncomingServer, AutoSyncMaxAgeDays,
                        "autosync_max_age_days")

  1. NS_IMETHODIMP nsDefaultAutoSyncMsgStrategy::IsExcluded(nsIMsgFolder *aFolder,
  2.   nsIMsgDBHdr *aMsgHdr, bool *aDecision)
  3. {
  4.   NS_ENSURE_ARG_POINTER(aDecision);
  5.   NS_ENSURE_ARG_POINTER(aMsgHdr);
  6.   NS_ENSURE_ARG_POINTER(aFolder);
  7.   nsCOMPtr<nsIMsgIncomingServer> server;

  8.   nsresult rv = aFolder->GetServer(getter_AddRefs(server));
  9.   NS_ENSURE_SUCCESS(rv, rv);
  10.   nsCOMPtr<nsIImapIncomingServer> imapServer(do_QueryInterface(server, &rv));
  11.   int32_t offlineMsgAgeLimit = -1;
  12.   imapServer->GetAutoSyncMaxAgeDays(&offlineMsgAgeLimit);
  13.   NS_ENSURE_SUCCESS(rv, rv);
  14.   PRTime msgDate;
  15.   aMsgHdr->GetDate(&msgDate);
  16.   *aDecision = offlineMsgAgeLimit > 0 &&
  17.     msgDate < MsgConvertAgeInDaysToCutoffDate(offlineMsgAgeLimit);
  18.   return NS_OK;
  19. }
复制代码
同步最近多少天,是指邮件头下载后,根据邮件头中的时间决定要不要同步对应的邮件内容。




回复

使用道具 举报

388

主题

602

帖子

2218

积分

金牌会员

Rank: 6Rank: 6

积分
2218
沙发
 楼主| 发表于 2016-4-5 18:35:52 | 只看该作者
收取最近多少封原理实现:
针对每个邮件夹,有一个对象中保存了此邮件夹上共有多少封邮件t1和本地存在了多少封邮件t2,注意:t1在删除邮件(彻底删除和一般删除下数量都会减少),而t2只在彻底删除时,数量才会减少,故造成数量对不上。(是否有方案让t2与t1的变化方案一致?) 找到另一个值 记录了 手动删除的和彻底删除的数量,可以对得上了。t4 等于界面上保存的服务器上的值
采取另外一种方法是自己记录总数量t1,已存在的数量根据界面上弹出的窗口选择的数量自行计算t3,即为另一个已存在的意义同t2。但这种方案有一个问题就是虽然用户选择了界面上的下载数量,但有可能服务器端原因,造成实际上并没有下载这么多,就会明显造成实际下载的数量和保存的计数t3有明显的出入。---基于这种情况的暂缓解决方案 :判断t1和值 是否等于t4+t2 当两者不同时,修改对应值 .
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-5-7 03:46 , Processed in 0.055700 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表