我们在共享邮箱上有7个用户。我们希望根据子文件夹的“发件人”来对传出的电子邮件进行“分类”。但是,无法应用过滤器“ from”,它始终是共享的mb名称,而不取决于“真实发件人”。
感谢您的帮助和提示 祝您愉快 阿尔诺(Arno)
我尝试创建一个宏,该宏可以捕获Application_ItemSend,但是我无法使其正常运行。 这个想法是: -检查当前项目是否为共享MB传出(而不是用户的私有MB,它们都同时安装:如果item.send =“ xxx” -识别并保留唯一的邮件:set mySubject = item.subject -让邮件发送 -检查SentItem文件夹设置文件夹= oStore.GetDefaultFolder(olFolderSentMail) -通过其“唯一” id(主题)捕获最近发送的邮件,并将其移动到经过硬编码的子文件夹中...
任何提示都会受到欢迎。我正在尝试重现ThunderBird功能,该功能使您可以选择将已发送电子邮件的副本放置在何处,计算机基座而不是服务器。这样一来,从特定计算机(标识特定用户)通过特定帐户发送的每封电子邮件都将存储到一个文件夹中。
Sub ARTSortSent()
Dim olItems As Outlook.Items
Dim olItem As Outlook.MailItem
Dim i As Long, j As Long
Dim oStores As Outlook.Stores
Dim oStore As Outlook.Store
Dim Folder As Outlook.Folder
Dim mySignature As String
Dim Dest As Folder
Set oStores = Application.Session.Stores
For Each oStore In oStores
On Error Resume Next
If oStore.DisplayName = "support@xxx.com" Then
Set Folder = oStore.GetDefaultFolder(olFolderSentMail)
Set olItems = Folder.Items
mySignature = "Arno"
Set Dest = Folder.Folders("ART")
For i = olItems.count To 1 Step -1 'Check each message in reverse order
Set olItem = olItems(i)
If InStr(1, olItem.Body, mySignature, vbTextCompare) Or InStr(1, olItem.Body, "Arno", vbTextCompare) Then
olItem.Move Dest
End If
Next i
如果结束 下一个 结束
上面描述了预期的结果,实际的是: -如果我有多个用户,那么第一个应用他的代码的人会简单地移动一封邮件,如果宏可以找到它的签名的话。即使他不是电子邮件发件人,但在某个阶段也参与了对话。然后,这取决于规则顺序,而不取决于实际的发件人。