Skip to main content

如何通過 Outlook 從 Excel 發送個性化群發郵件?

Author: Xiaoyang Last Modified: 2025-05-12

例如,我在工作表中有以下數據區域,其中包含姓名、電子郵件地址和註冊碼列,現在,我想向 A 列中的各個電子郵件地址發送一條帶有個性化問候語及其註冊碼的消息。要解決這個問題,以下方法可能會對您有所幫助。

a screenshot of the mailing list in worksheet

使用郵件合併功能從 Excel 發送個性化群發郵件

使用 VBA 代碼從 Excel 發送個性化群發郵件

使用 Kutools for Excel 發送帶有不同的附件的個性化群發郵件


使用郵件合併功能從 Excel 發送個性化群發郵件

借助 Word 的郵件合併功能,您可以快速輕鬆地完成此任務,請按照以下步驟操作:

1. 啟動一個新的空白 Word 文件,然後點擊 郵件 > 選擇收件人 > 使用現有列表,參見截圖:

a screenshot of selecting recipients use an existing list

2. 在「選取數據源」窗口中,選擇包含您想使用的數據區域的工作簿,然後點擊 打開 按鈕,參見截圖:

a screenshot of selecting a workbook

3. 在彈出的「選擇表格」對話框中,請選擇包含所需數據區域的工作表,然後點擊 確定 按鈕,參見截圖:

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

4. 這樣,電子郵件主文檔和您的地址列表就已連接在一起,現在您可以編輯文本消息並添加佔位符,以指示每條消息中將出現唯一信息的位置。

(1.) 要插入個人化的問候名稱,請點擊 郵件 > 插入合併欄位 > 姓名,個性化的名字已被插入到消息中,並且欄位名稱被 « » 包圍。

a screenshot of inserting a merged Name field

(2.) 繼續輸入您的消息並將 註冊碼插入到需要的地方,參見截圖:

a screenshot of inserting the Registration Code

5. 完成消息撰寫後,您可以點擊 郵件 選項卡下的 預覽結果 來預覽電子郵件消息並在實際完成合併之前進行更改。

6. 確認沒有問題後,您可以將電子郵件發送到單獨的收件人,請點擊 郵件 > 完成& 合併 > 發送電子郵件消息,參見截圖:

a screenshot of selecting Send Email Messages

7. 然後在彈出的「合併到電子郵件」對話框中,執行以下操作:

(1.) 從 收件人 下拉列表中,請選擇 Email_Address 列;

(2.) 您可以在 主題 行文本框中輸入主題;

(3.) 從 發送記錄 區域,選擇 全部

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

8. 然後點擊 確定,電子郵件會立即發送到不同的收件人,附上他們各自的註冊碼,發送完電子郵件後,您可以前往您的 Outlook 以確認電子郵件已成功發送。


向多個收件人發送帶有不同的附件的個性化電子郵件:

借助 Kutools for Excel發送電子郵件 功能,您可以根據需要快速從 Excel 通過 Outlook 向多個收件人發送個性化電子郵件,並附上不同的附件。同時,您還可以將消息抄送或密送到特定的人。     立即下載並免費試用 Kutools for Excel!

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


使用 VBA 代碼從 Excel 發送個性化群發郵件

除了郵件合併功能外,以下 VBA 代碼也可以為您提供幫助,請按以下步驟操作:

1. 按住 ALT + F11 鍵,打開 Microsoft Visual Basic for Applications 窗口。

2. 點擊 插入 > 模塊,然後將以下代碼粘貼到模塊窗口中。

VBA 代碼:從 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. 然後按下 F5 鍵運行此代碼,將彈出一個提示框提醒您選擇要使用的數據區域,參見截圖:

a screenshot of selecting the mailing list after running the code

4. 然後點擊 確定 按鈕,電子郵件將逐一發送到不同的地址,附上各自的註冊碼,發送完電子郵件後,您可以前往您的 Outlook 以確認電子郵件已成功發送。

注意:在上述代碼中,您可以根據需要更改主題或正文消息。


使用 Kutools for Excel 發送帶有不同的附件的個性化群發郵件

如果您有 Kutools for Excel,借助其 發送電子郵件 功能,您可以根據需要快速向多個收件人發送個性化電子郵件,並附上不同的附件。

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 點擊 Kutools Plus > 發送電子郵件,參見截圖:

a screenshot of enabling the Send Emails feature

2. 在 發送電子郵件 對話框中,請選擇要使用的數據區域,然後根據需要指定收件人地址、附件和主題,參見截圖:

a screenshot of setting the mail fields

3. 在編輯框中,插入個人化的問候名字,請從下拉列表中選擇 姓名,然後點擊 插入佔位符 以將名字插入到消息中,參見截圖:

a screenshot of inserting placeholder

4. 然後根據需要在框中輸入消息正文,參見截圖:

a screenshot of finishing the email body

5. 完成電子郵件正文後,請選擇您想要的發送模式,您可以使用 Outlook 或指定的伺服器發送,參見截圖:

a screenshot of choosing one of the send modes

注意:  如果您想使用其他伺服器,請點擊 發件伺服器設置 以設置自己的發送模式,參見截圖:

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

6. 最後,點擊 發送 按鈕以發送電子郵件,完成後,將彈出一個提示框提醒您發送狀態。參見截圖:

a screenshot shows the number of emails successfully sent

立即下載並免費試用 Kutools for Excel!


演示:通過 Outlook 從 Excel 發送個性化群發郵件

 
Kutools for Excel:擁有超過 300 個實用的 Excel 增益功能,免費試用 30 天無限制。 立即下載並免費試用!

相關文章:

如何通過 Outlook 從 Excel 中的列表向多個收件人發送電子郵件?


最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 圖表 類型甘特圖、...)   |   40+ 實用 公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!