找回密码
 加入
搜索
查看: 7029|回复: 12

[系统综合] outlook express 检测邮件爆的问题

  [复制链接]
发表于 2013-4-21 22:21:37 | 显示全部楼层 |阅读模式
如题,这是XP下的outlook express哈。 问题在:其单个存储邮件的文件(*.dbx)最大的为1.99G  ,到此就会收不到邮件。如何检测到其文件快要到达此容量大小 时有个提示。
 楼主| 发表于 2013-4-21 22:45:31 | 显示全部楼层
各位大大,不要看不到一行代码就不帮忙哈。自己顶下。实在百度不到了。功力不行啊。
 楼主| 发表于 2013-4-22 08:56:25 | 显示全部楼层
没有人愿意回答嘛?我只知道单文件大小比较方式。不过有原备份邮件也在。所以怎么检测出当前爆掉的邮件。
发表于 2013-4-22 09:33:47 | 显示全部楼层
回复 3# ghxbs8900

你的問題只是如何檢測出 文件快到1.9G  還是 還有其他問題??

檢測文件大小  用 FileGetSize  不就好了
 楼主| 发表于 2013-4-22 11:33:57 | 显示全部楼层
本帖最后由 ghxbs8900 于 2013-4-22 12:02 编辑

回复 4# kk_lee69

首先谢谢你,这个本地文件大小检测我知道,问题是检测outlook内部文件夹中的正在有规则的内部文件夹(也就是*.dbx),非常不好意思,我的语言表达不够清析。因我邮件比较多,收件箱.dbx快到1.99GB时,我都会重命名一下,所以存储目录中不止一个这1.99G文件,并且再收邮件时,也不会规则到此重命名内部文件夹中。如下图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2013-4-22 11:39:51 | 显示全部楼层
据百度得知。Folders.dbx为outlookexpress的内部目录文件。并得以下代码,只是能力有限。不懂。求教
 MESSAGEPROPS,msgProps;
HENUMSTORE hEnumMsg;
CString的项目;
int nIndex;

hEnumMsg​​ = NULL;

/ / 设置大小的结构
 / / 或函数的返回错误
 msgProps.cbSize = sizeof(MESSAGEPROPS)的;

/ / 我们想要的主体和其他的
 / / 员工,我们得到的所有属性
 / / 你可以使用MSGPROPS_FAST作为第一个参数
 / / 只得到几个属性的消息。
 HRESULT HR = m_pStoreFolder-> GetFirstMessage(0,
                                              0,
                                             MESSAGEID_FIRST,
                                             &MsgProps,
                                             &hEnumMsg);

而(SUCCEEDED(小时)的&&小时!= S_FALSE,){
    项目= msgProps.pszDisplayFrom;
    项目+ = _T( “       “);
    项目+ = msgProps.pszNormalSubject的;

    / / 信息主题,并从显示在列表框中。
     / / 每个项目的数据消息ID
     参数nIndex = m_listMsg.AddString(项);

    (nIndex! LB_ERR =参数nIndex &&!= LB_ERRSPACE,){
        m_listMsg.SetItemData(参数nIndex,msgProps.dwMessageId);
    }

    / / 消息属性
     / / 因为他们被分配由IStoreFolder。
     m_pStoreFolder> FreeMessageProps(&msgProps的);

    HR = m_pStoreFolder> GetNextMessage(hEnumMsg​​, 
                                   0&msgProps);
}

// close the enum
if(hEnumMsg) {
    m_pStoreFolder> GetMessageClose(hEnumMsg​​);
}
URL为:http://www.codeproject.com/Artic ... -in-Outlook-Express
发表于 2013-4-22 13:21:09 | 显示全部楼层
本帖最后由 kk_lee69 于 2013-4-22 13:25 编辑

回复 5# ghxbs8900

你的方式有點特殊的地方  我印象中...........

當你的  2012-11到201301 這個資料夾  是建立在  本地文件夾的時候.....電腦會自動產生一個檔案 就放在你的 收件箱  實體路徑的旁邊,本身就會是一個檔案  所以 你只要 檢測這個檔案 不就好了嗎???

至於 目錄下有幾個檔案  那就 搜尋就會知道.......

我研判是  因為你的資料夾 設定在  收件箱底下.....所以 你的內容 不會被獨立成一個檔案

所以 你想知道的是  如何 檢測出  在  收件箱  這個檔案裏面的 2012到201301 的資料夾大小

可是 這樣一來 就得牽扯 整個 郵件檔案的格式 內容的問題了.....這樣困難度就大增
 楼主| 发表于 2013-4-22 13:57:47 | 显示全部楼层
本帖最后由 ghxbs8900 于 2013-4-22 13:59 编辑

回复 7# kk_lee69

哈哈,有你的帮忙。我非常荣幸 。。如下图。不管我在OE中哪个位置新建文件夹,对应在它的存储路径中都会生成以它名字加.dbx的文件。现在要是考虑直接从存储目录中FileGetSize    的话,可能因多个文件而无法判断的。原因有有二,一是文件有多个,这好说,日期可以区分。二是OE中的规则到的文件夹才是需要检测的。求解。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2013-4-22 17:43:49 | 显示全部楼层
别沉了。自己顶下。
发表于 2013-4-23 09:32:07 | 显示全部楼层
回复 8# ghxbs8900

現在的問題 是  如何 得到  OE規則中的文件夾  但是我覺得這個困難度比較大,暫時也沒找到解決方法,所以我的話會從 檔案的修改時間著手

這是第一個步驟.....

然後我會在第一次執行的時候 建立檔案資料庫.....然後 把所有的檔案 列表 ( 可以用資料庫 也可以用文字檔案的方式記錄)  重點是 要記住那些要觀察 那些不用觀察   那就不會有 LOST 的情況

這樣 應該可以達到目的  只是繞個角度
 楼主| 发表于 2013-4-23 22:48:40 | 显示全部楼层
回复 10# kk_lee69

非常感谢,我大概明白了。先从修改时间入手,可以过滤一些文件,然后逐个循环检测。现在突然间发现,不知如何在OE中内部新建文件夹。
发表于 2013-4-24 13:49:23 | 显示全部楼层
回复 11# ghxbs8900

OE 的 UDF  不知道有甚麼功能  自己研究看看嚕

http://www.autoitscript.com/foru ... express#entry804078
 楼主| 发表于 2013-4-25 21:32:58 | 显示全部楼层
回复 12# kk_lee69


    嗯,谢谢啦。下载下来了,暂时还没研究明白。呵呵
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-23 06:26 , Processed in 0.085524 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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