This question comes from a user migrating from Eudora but is useful to anyone who needs to send an email message to a contact's three email addresses.
Some of our contacts have more than one email address, and in Eudora we can save one contact with two addresses, then when we select that one contact from the address book, both addresses are included in the To field. How can we do this in Outlook?
The Outlook version of this feature is available only when you view the contact in the Contacts folder.
In Outlook 2010 and 2013, find the contact in the Contacts folder, select it and click the Email button on the ribbon. This will open a new message addressed to all of the addresses entered in the contact.
If you prefer to right click on the contact, choose Create, New message to contact. In older versions, you'll use the Actions, New message to contact command.
Unfortunately, this only works when you select one contact. If you select two or more, only the default email address is added to the message.
If you use the To button to open the address book, you'll need to select each address from the address list.
Send email to all addresses macro
This VBA macro will get all email addresses on the selected contacts and prepare an email message with the addresses in the BCC field.
See How to use Outlook's VBA Editor if you don't know how to use macros.
Public Sub SendToAllAddresses()
Dim Selection As Selection
Dim strDynamicDL As String
Dim obj As Object
Dim objOutlookRecip As Outlook.Recipient
Set Selection = ActiveExplorer.Selection
For Each obj In Selection
If obj.Class = olContact Then
strDynamicDL = strDynamicDL & ";" & obj.Email1Address & ";" & _
obj.Email2Address & ";" & obj.Email3Address
Else
strDynamicDL = strDynamicDL & ";" & obj.DLName
End If
Next
Dim objMsg As MailItem
Set objMsg = Application.CreateItem(olMailItem)
objMsg.To = "myself@here.com"
objMsg.BCC = strDynamicDL
For Each objOutlookRecip In objMsg.Recipients
objOutlookRecip.Resolve
Next
objMsg.Display
Set objMsg = Nothing
Set obj = Nothing
End Sub




