Skip to main content

How to send personalized mass emails to a list from Excel via Outlook?

Author: Xiaoyang Last Modified: 2024-08-22

For example, I have the following data range in a worksheet which contains Name, Email Address, Registration Code columns, and now, I want to send a message with a personalized greeting and their own Registration Code to the separated Email Addresses in column A. To solve this problem, the following methods may help you.

a screenshot of the mailing list in worksheet

Send personalized mass emails to a list from Excel with Mail Merge function

Send personalized mass emails to a list from Excel with VBA code

Send personalized mass emails to a list with different attachments by using Kutools for Excel


Send personalized mass emails to a list from Excel with Mail Merge function

With the Word’s Mail Merge function, you can finish this job quickly and easily, please do with the following step by step:

1. Launch a new blank Word document, and then click Mailings > Select Recipients > Use an Existing List, see screenshot:

a screenshot of selecting recipients use an existing list

2. In the Select Data Source window, choose the workbook which includes the data range that you want to use, and click Open button, see screenshot:

a screenshot of selecting a workbook

3. In the coming Select Table dialog box, please choose the worksheet with the data range you need, and then click OK button, see screenshot:

a screenshot of selecting the corresponding worksheet that containing the mailing list

4. And the E-mail message main document and your address list have been connected together, now, you can edit the text message and add placeholders that indicate where the unique information will appear in each message.

(1.) To insert their individual greeting name, click Mailings > Insert Merge Field > Name, the personalized name has been inserted into the message, and the field name is surrounded by « ».

a screenshot of inserting a merged Name field

(2.) Go on typing your message and insert the Registration Code into the place where you need, see screenshot:

a screenshot of inserting the Registration Code

5. After composing the message, you can click Preview Results under the Mailing tab to preview E-mail messages and make changes before you actually complete the merge.

6. After making sure there is no problem, you can send the E-mails to the separate recipients, please click Mailings > Finish& Merge > Send Email Message, see screenshot:

a screenshot of selecting Send Email Messages

7. Then in the popped out Merge to E-mail dialog box, do the following operations:

(1.) From the To drop down list, please choose Email_Address column;

(2.) You can type the subject into the Subject line text box;

(3.) From the Send records section, select All.

a screenshot of configuring the Merge to E-mail dialog box

8. And then click OK, the emails are sent to separate recipients with their own registration code at once, after sending the emails, you can go to your Outlook to make sure the emails have been sent successfully.


Send personalized emails to multiple recipients with different attachments:

With Kutools for Excel's Send Emails feature, you can quickly send personalized emails to multiple recipients with different attachments from Excel via Outlook as you need. At the same time, you can CC or Bcc the messages to a specific person as well.       Download and free trial Kutools for Excel Now!

a screenshot of using Kutools for Excel to send personalized emails to multiple recipients easily


Send personalized mass emails to a list from Excel with VBA code

Excepting the Mail Merge function, the following VBA code also can do you a favor, please do as this:

1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module Window.

VBA code: Send personalized mass emails to a list from Excel:

#If VBA7 And Win64 Then
    Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                         ByVal hwnd As LongPtr, ByVal lpOperation As String, _
                         ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
                         ByVal nShowCmd As Long) As LongPtr
#Else
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                         ByVal hwnd As Long, ByVal lpOperation As String, _
                         ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
                         ByVal nShowCmd As Long) As Long
#End If
Sub SendEMail()
'update by Extendoffice 20160506
    Dim xEmail As String
    Dim xSubj As String
    Dim xMsg As String
    Dim xURL As String
    Dim i As Integer
    Dim k As Double
    Dim xCell As Range
    Dim xRg As Range
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count <> 3 Then
        MsgBox " Regional format error, please check", , "Kutools for Excel"
        Exit Sub
    End If
    For i = 1 To xRg.Rows.Count
'       Get the email address
        xEmail = xRg.Cells(i, 2)
'       Message subject
        xSubj = "Your Registration Code"
'       Compose the message
        xMsg = ""
        xMsg = xMsg & "Dear " & xRg.Cells(i, 1) & "," & vbCrLf & vbCrLf
        xMsg = xMsg & " This is your Registration Code "
        xMsg = xMsg & xRg.Cells(i, 3).Text & "." & vbCrLf & vbCrLf
        xMsg = xMsg & " please try it, and glad to get your feedback! " & vbCrLf
        xMsg = xMsg & "Skyyang"
'       Replace spaces with %20 (hex)
        xSubj = Application.WorksheetFunction.Substitute(xSubj, " ", "%20")
        xMsg = Application.WorksheetFunction.Substitute(xMsg, " ", "%20")
'       Replace carriage returns with %0D%0A (hex)
        xMsg = Application.WorksheetFunction.Substitute(xMsg, vbCrLf, "%0D%0A")
'       Create the URL
        xURL = "mailto:" & xEmail & "?subject=" & xSubj & "&body=" & xMsg
'       Execute the URL (start the email client)
        ShellExecute 0&, vbNullString, xURL, vbNullString, vbNullString, vbNormalFocus
'       Wait two seconds before sending keystrokes
        Application.Wait (Now + TimeValue("0:00:02"))
        Application.SendKeys "%s"
    Next
End Sub

3. Then press F5 key to run this code, and a prompt box will pop out to remind you select the data range that you want to use, see screenshot:

a screenshot of selecting the mailing list after running the code

4. And then click OK button, the emails will be sent to separate addresses with their individual registration code one by one, after sending the emails, you can go to your Outlook to make sure the emails have been sent successfully.

Note: In the above code, you can change the subject or body message to your need.


Send personalized mass emails to a list with different attachments by using Kutools for Excel

If you have Kutools for Excel, with its Send Emails feature, you can quickly send personalized emails to multiple recipients with different attachments as you need.

After installing Kutools for Excel, please do as this:

1. Click Kutools Plus > Send Emails, see screenshot:

a screenshot of enabling the Send Emails feature

2. In the Send Emials dialog box, please select the data range that you want to use, and then specify the recipient addresses, attachments and subject as you need, see screenshot:

a screenshot of setting the mail fields

3. In the edit box, insert the individual greeting names, please choose Name from the drop down list, and then click Insert Placeholder to insert the names into the message, see screenshot:

a screenshot of inserting placeholder

4. Then type your message body into the box as you need, see screenshot:

a screenshot of finishing the email body

5. After finishing the email body, please choose the send mode as you want, you can send by using Outlook or your specified server, see screesnhot:

a screenshot of choosing one of the send modes

Note:  If you want to use other server, click Outgoing Server Settings to set the sending mode to your own, see screesnhot:

a screenshot of configuring the Outgoing Server if you want to send emails through that email server

6. At last, click Send button to send the emails, after completing, a prompt box will pop out to remind you the sending status. see screesnhot:

a screenshot shows the number of emails successfully sent

Click Download and free trial Kutools for Excel Now !


Demo: Send personalized mass emails to a list from Excel via Outlook

 
Kutools for Excel: with more than 300 handy Excel add-ins, free to try with no limitation in 30 days. Download and free trial Now!

Related article:

How to send email to multiple recipients in a list from Excel via Outlook?


Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more
Use Kutools in your preferred language – supports English, Spanish, German, French, Chinese, and 40+ others!

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...


Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!