【发布时间】:2021-12-03 09:16:04
【问题描述】:
我想在 vba 中创建带有条件的自动转发电子邮件:
-
仅来自“sourcemail@gmail.com”的邮件,并且正文中有“ABCDE”
-
仅来自收件箱 \ownmail@gmail.com\Inbox\Folder1 下特定文件夹的邮件
如果邮件进入“收件箱”,则条件 1 没有问题,但如果邮件进入“文件夹 1”,则条件 2 不会自动转发。
我的代码是这样的:
Public WithEvents objInbox As Outlook.Folder
Public WithEvents objInboxItems As Outlook.Items
Private Sub Application_Startup()
Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
Set objInboxItems = objInbox.Items
End Sub
Private Sub objInboxItems_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim objForward As Outlook.MailItem
If TypeOf Item Is MailItem Then
Set objMail = Item
'If it is a specific new email
If (objMail.SenderEmailAddress = "sourcemail@gmail.com") And InStr(Item.Body, "ABCDE") > 0 Then
Set objForward = objMail.Forward
'Customize the forward subject, body and recipients
With objForward
.Subject = "test subject"
.HTMLBody = "<HTML><BODY>test body</BODY></HTML>" & objForward.HTMLBody
.Recipients.Add ("recepient1@gmail.com")
.Recipients.Add("recepient2@gmail.com").Type = olCC
.Recipients.ResolveAll
.Importance = olImportanceHigh
.Send
End With
End If
End If
End Sub
【问题讨论】: