我想要一个过滤器或规则,允许我在收到来自特定地址的电子邮件时向大约 200 个收件人发送批量电子邮件。例如,当电子邮件客户端收到来自 的电子邮件时[email protected]
,我希望它将电子邮件重新发送给我的地址簿中的所有人。
我尝试在 Outlook 和 Thunderbird 电子邮件客户端中设置规则,但我唯一的选项是“转发”,而不是“重新发送”或“发送”电子邮件。还有一个问题是所有收件人都出现在地址列表中。我希望所有收件人都是密件抄送。
有什么办法可以做到这一点?
答案1
您可以创建规则以转发至密送的分发列表。
编辑 2015 02 23
虽然从技术上来说上述内容是正确的。但这并不像我想象的那么简单。按规则转发时,地址对话框中没有密件抄送选项。我的版本是 2010。
您可以使用运行脚本选项在规则中设置密件抄送,而不是使用对话框。
Option Explicit
Sub Forward_BCC_DL(item As Object)
Dim newForward As MailItem
Dim myRecipient As Recipient
If item.Class = olMail Then
Set newForward = item.Forward
Set myRecipient = newForward.Recipients.Add("Name of Distribution List with the quotes")
myRecipient.Type = olBCC
newForward.Recipients.ResolveAll
newForward.Display ' Comment out with a leading apostrophe once tested
'newForward.Send ' Remove leading apostrophe once tested
End If
ExitRoutine:
Set newForward = Nothing
Set myRecipient = Nothing
End Sub
Private Sub Forward_BCC_DL_Test()
' To test
' open a message then run this code
Dim curritem As Object
Set curritem = ActiveInspector.currentItem
Forward_BCC_DL curritem
End Sub
如果您不熟悉 VBA,这将会很有帮助。
编辑 2015 02 23 - 结束
编辑 2015 02 24
创建一个如上所述的分发列表可能会更好,但这将缓慢地检索所有联系人。
Option Explicit
Sub Forward_BCC_All(mail As MailItem)
Dim ContactsFolder As folder
Dim Contact As Object
Dim objMail As MailItem
'Dim j As Long
Dim objRecip As Recipient
Set ContactsFolder = Session.GetDefaultFolder(olFolderContacts)
Set objMail = mail.Forward
'j = 0
For Each Contact In ContactsFolder.Items
'j = j + 1
With objMail
'Debug.Print j & ": " & Contact
Set objRecip = .Recipients.Add(Contact)
objRecip.Type = olBCC
End With
Next
'Debug.Print "Resolving contacts slowly"
objMail.Recipients.ResolveAll
objMail.Display
ExitRoutine:
Set objMail = Nothing
Set ContactsFolder = Nothing
Set Contact = Nothing
End Sub
Private Sub Forward_BCC_All_test()
Dim currItem As MailItem
Set currItem = ActiveInspector.currentItem
Forward_BCC_All currItem
End Sub
编辑 2015 02 24 - 结束