+ -
当前位置:首页 → 问答吧 → outlook2003如何设置自动删除特定的已发邮件

outlook2003如何设置自动删除特定的已发邮件

时间:2008-08-08

来源:互联网

outlook2003邮箱 为邮箱A

外网邮箱 为邮箱B

邮箱A已设置为,无论收到的邮件,还是发出的邮件都自动转发到邮箱B

这时邮箱A,即使用OUTLOOK2003的邮箱,“已发邮件”文件夹中会产生很多发往邮箱B的邮件。

问题就是如何将这些转往邮箱B的邮件自动删除?

请各位指教

作者: wallimas   发布时间: 2008-08-08

没有人可以解答吗?

作者: wallimas   发布时间: 2008-08-08

手动搞了很久了。。。麻烦啊,有高人出手吗?

作者: wallimas   发布时间: 2008-08-14

1、通过网页设置转发,则Outlook不会收到转发的邮件。

2、在Outlook里设置时,规则多加一个,在转发的同时删除它或移动到指定文件夹,以后删除,如图

document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" />

[此贴子已经被作者于2008-8-14 17:25:07编辑过]

附件

DHQR8FEI.gif(21.26 KB)

2008-8-14 17:25

作者: Long_III   发布时间: 2008-08-14

多谢楼上朋友的回复,但是很显然,这一步的操作对象不是转发出去的邮件,而是收到的邮件。

我想实现的是每收到一封邮件就自动转发到指定邮箱,同时将已发送邮件箱中因转发而产生的邮件删除。


作者: wallimas   发布时间: 2008-08-19

改用代码的,在thisoutlooksession里粘贴下面代码

(上面的规则设置是有问题,还是建议在网页上设置转发,这个我用过,没问题)

Const s As String = "----此邮件是自动转发,需删除"

Private Sub Application_NewMail()
    hjs
End Sub

Sub hjs()
    Dim appolApp As Outlook.Application
    Dim Myns As NameSpace
    Dim Item As Outlook.MailItem, Newitem As Outlook.MailItem
    Dim Item1 As Outlook.MailItem
    Dim Items, Items1

    Set appolApp = Outlook.Application
    Set Myns = appolApp.GetNamespace("MAPI")
    Set Items = Myns.GetDefaultFolder(olFolderInbox).Items

    Set Item = Items(Items.Count)    '找出收件箱里的最后一封(刚收到的)

    Set Newitem = Item.Forward
    Newitem.To = "[email protected]"
    Newitem.Subject = Item.Subject & s    '在标题加一些特殊的字符
    Newitem.Send

    Set Myns = Nothing
    Set appolApp = Nothing
End Sub

Sub Del_forward()    '查找标题中含有特殊字符的,删除
    Dim appolApp As Outlook.Application
    Dim Myns As NameSpace

    Set appolApp = Outlook.Application
    Set Myns = appolApp.GetNamespace("MAPI")
    Set Items = Myns.GetDefaultFolder(olFolderSentMail).Items

    For Each Item In Items
        If InStr(1, Item.Subject, s) > 0 Then Item.Delete
    Next

    Set Myns = Nothing
    Set appolApp = Nothing
End Sub

每次收到新邮件时,转发,然后在转发的邮件标题中增加这样的字符"----此邮件是自动转发,需删除",然后等一段时候后可以运行代码Del_forward,删除邮件。

本来想在收到的同时,转发,删除,但是,转发需要时间,邮件还没有转发出去之前,代码就运行完了,这样就找不到转发的邮件,如果增加等待时间,那这个时间又不确定,假设邮件收到之后,网络出现问题,一直发送不出去,则这样的话删掉代码就没用了。所以,删除的代码需要单独写,如果要自动的话,可以定时运行一下删除邮件的代码,或者把删除代码放在Application_Quit。供参考

作者: Long_III   发布时间: 2008-08-19

不错,有同感,楼主的想法很好,偶也找了很久,终于找到了一个,规则是有点问题。。。代码先试试。。。。

作者: beifang1986   发布时间: 2008-12-28

高手,收藏了。

作者: windowsxpsp   发布时间: 2010-11-10