There are lots of ways to do this, the simplest is probably;
1. Add a hidden field in your doc and when you mailmerge put the email address into it.
Add a mailmerge field as normal then font, hidden
2. Mailmerge your doc
3. Mailings, Finish and Merge, Send E-Mail messages or run VBA
4. Your emails will be sent
To automate the sending via VBA;
Assumes excel source is C:\Documents and Settings\MMerge.xlsx
Assumes excel worksheet is Sheet$
Assumes header of columns in Excel containing email is Address an name is Name
Assumes Office 2007 so may need changes for older version
Sub Email_After_Merging()
'set to send as email
ActiveDocument.MailMerge.MainDocumentType = wdEMail
'-------------------
'You may not need this section as it does the actual mailmerge
'get the data and mailmerge
ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:\Documents and Settings\MMerge.xlsx", _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Documents and Settings\MMerge.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet" _
, SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
Selection.TypeText Text:="To: "
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="Name"
Selection.TypeParagraph
Selection.TypeText Text:="EmailAddress: "
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:= "Address"
'--- end optional section -------------
'now send the emails
With ActiveDocument.MailMerge
.Destination = wdSendToEmail
.SuppressBlankLines = True
'Use the field in the mailmerge as the email address
.MailAddressFieldName = "Address"
'Either hard code or use another hidden field
.MailSubject = "An Email"
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
End Sub
From word; run macro, check sent items and your emails will be there.