是否可以在 Microsoft Outlook 中自动将电子邮件转发到轮换电子邮件地址?
我正在尝试寻找一种解决方案,将收到的电子邮件随机分配给 3 个不同的用户,并寻找一种不会将每封电子邮件转发到所有 3 个电子邮件的解决方案。
感谢您就解决此问题的规则、授权等提供任何指导!
答案1
在 Microsoft Outlook 中自动将电子邮件转发到轮换电子邮件地址
Microsoft Outlook VBA 宏用于轮流将电子邮件转发给 x# 个人。请按照以下说明操作:
- 打开 Outlook 并按“Alt + F11”打开 VBA 编辑器。
- 在 VBA 编辑器中,展开“Microsoft Outlook Objects”文件夹并双击“ThisOutlookSession”以打开 Outlook 会话的代码窗口。
- 将下面的代码粘贴到代码窗口中。
- 将数组中的电子邮件地址更改为您想要转发的实际电子邮件。
- 将数字(Mod)调整为数组中正确的电子邮件数量,当前设置为 4。
- 粘贴代码后,保存宏并关闭 VBA 编辑器。
- 重新启动 Outlook 以使宏生效。使用此简单的宏,传入的电子邮件将轮流转发到 4 个指定的电子邮件地址。轮换从数组中的第一个地址开始并按顺序移动。请注意,此宏假定转发电子邮件没有特定条件或过滤器。它会将所有传入的电子邮件转发给轮换收件人。按照指示复制并粘贴以下代码:
Private WithEvents inboxItems As Outlook.Items
Private currentIndex As Integer
Private Sub Application_Startup()
Dim outlookApp As Outlook.Application
Dim objectNS As Outlook.NameSpace
Dim inboxFolder As Outlook.MAPIFolder
Set outlookApp = Outlook.Application
Set objectNS = outlookApp.GetNamespace("MAPI")
Set inboxFolder = objectNS.GetDefaultFolder(olFolderInbox)
Set inboxItems = inboxFolder.Items
currentIndex = 0
End Sub
Private Sub inboxItems_ItemAdd(ByVal Item As Object)
Dim forwardEmail As Outlook.MailItem
Dim rotationEmails As Variant
' Define the rotation email addresses
rotationEmails = Array("[email protected]", "[email protected]", "[email protected]", "[email protected]")
Set forwardEmail = Item.Forward
forwardEmail.Recipients.Add rotationEmails(currentIndex)
forwardEmail.Send
' adjust the rotation index – change the Mod number to the number of emails in the rotation
currentIndex = (currentIndex + 1) Mod 4
End Sub