Skip to main content

Come inviare e-mail personalizzate di massa a una lista da Excel tramite Outlook?

Author: Xiaoyang Last Modified: 2025-08-06

Ad esempio, ho il seguente intervallo dati in un foglio di lavoro che contiene le colonne Nome, Indirizzo Email e Codice di Registrazione, e ora voglio inviare un messaggio con un saluto personalizzato e il loro Codice di Registrazione agli indirizzi email separati nella colonna A. Per risolvere questo problema, i seguenti metodi potrebbero esserti utili.

a screenshot of the mailing list in worksheet

Invia e-mail personalizzate di massa a una lista da Excel con la funzione Stampa Unione

Invia e-mail personalizzate di massa a una lista da Excel con codice VBA

Invia e-mail personalizzate di massa a una lista con allegati diversi utilizzando Kutools per Excel


Invia e-mail personalizzate di massa a una lista da Excel con la funzione Stampa Unione

Con la funzione Stampa Unione di Word, puoi completare questa operazione rapidamente e facilmente, procedi passo dopo passo come segue:

1. Apri un nuovo documento Word vuoto, quindi fai clic su Posta > Seleziona Destinatari > Usa Elenco Esistente, vedi screenshot:

a screenshot of selecting recipients use an existing list

2. Nella finestra Seleziona Origine Dati, scegli il file di lavoro che include l'intervallo dati che desideri utilizzare e fai clic sul pulsante Apri, vedi screenshot:

a screenshot of selecting a workbook

3. Nella finestra di dialogo Seleziona Tabella che appare, scegli il foglio di lavoro con l'intervallo dati necessario, quindi fai clic sul pulsante OK, vedi screenshot:

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

4. E il messaggio principale dell'e-mail e la tua lista di indirizzi sono stati collegati insieme, ora puoi modificare il testo del messaggio e aggiungere segnaposto che indicano dove appariranno le informazioni univoche in ogni messaggio.

(1.) Per inserire il nome di saluto individuale, fai clic su Posta > Inserisci Campo Unione > Nome, il nome personalizzato è stato inserito nel messaggio, e il nome del campo è circondato da « ».

a screenshot of inserting a merged Name field

(2.) Continua a scrivere il tuo messaggio e inserisci il Codice di Registrazione nel punto in cui ne hai bisogno, vedi screenshot:

a screenshot of inserting the Registration Code

5. Dopo aver composto il messaggio, puoi fare clic su Anteprima Risultati sotto la scheda Posta per visualizzare in anteprima i messaggi e-mail e apportare modifiche prima di completare effettivamente l'unione.

6. Dopo aver verificato che non ci siano problemi, puoi inviare le e-mail ai destinatari separati, fai clic su Posta > Completa & Unisci > Invia Messaggio Email, vedi screenshot:

a screenshot of selecting Send Email Messages

7. Quindi, nella finestra di dialogo Unisci a E-mail che appare, esegui le seguenti operazioni:

(1.) Dall'elenco a discesa A, scegli la colonna Indirizzo_Email;

(2.) Puoi digitare l'oggetto nella casella di testo Oggetto;

(3.) Dalla sezione Invia record, seleziona Tutti.

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

8. Quindi fai clic su OK, le e-mail verranno inviate immediatamente ai destinatari separati con il proprio codice di registrazione. Dopo aver inviato le e-mail, puoi andare su Outlook per assicurarti che le e-mail siano state inviate correttamente.


Invia e-mail personalizzate a più destinatari con allegati diversi:

Con la funzione Invia Email di Kutools per Excel, puoi inviare rapidamente e-mail personalizzate a più destinatari con allegati diversi da Excel tramite Outlook secondo necessità. Allo stesso tempo, puoi anche mettere in CC o CCN i messaggi a una persona specifica.       Scarica e prova gratuitamente Kutools per Excel Ora!

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


Invia e-mail personalizzate di massa a una lista da Excel con codice VBA

Oltre alla funzione Stampa Unione, il seguente codice VBA può anche esserti utile, procedi come segue:

1. Tieni premuti i tasti ALT + F11, e si aprirà la finestra Microsoft Visual Basic per Applicazioni.

2. Fai clic su Inserisci > Modulo, e incolla il seguente codice nella finestra Modulo.

Codice VBA: Invia e-mail personalizzate di massa a una lista da 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. Quindi premi il tasto F5 per eseguire questo codice, e apparirà una finestra di avviso per ricordarti di selezionare l'intervallo dati che desideri utilizzare, vedi screenshot:

a screenshot of selecting the mailing list after running the code

4. Quindi fai clic sul pulsante OK, le e-mail verranno inviate agli indirizzi separati con il loro codice di registrazione individuale uno per uno. Dopo aver inviato le e-mail, puoi andare su Outlook per assicurarti che le e-mail siano state inviate correttamente.

Nota: Nel codice sopra, puoi cambiare l'oggetto o il corpo del messaggio secondo necessità.


Invia e-mail personalizzate di massa a una lista con allegati diversi utilizzando Kutools per Excel

Se hai Kutools per Excel, con la sua funzione Invia Email, puoi inviare rapidamente e-mail personalizzate a più destinatari con allegati diversi secondo necessità.

Dopo aver installato Kutools per Excel, procedi come segue:

1. Fai clic su Kutools Plus > Invia Email, vedi screenshot:

a screenshot of enabling the Send Emails feature

2. Nella finestra di dialogo Invia Email, seleziona l'intervallo dati che desideri utilizzare, quindi specifica gli indirizzi dei destinatari, gli allegati e l'oggetto secondo necessità, vedi screenshot:

a screenshot of setting the mail fields

3. Nella casella di modifica, inserisci i nomi di saluto individuali, scegli Nome dall'elenco a discesa, quindi fai clic su Inserisci Segnaposto per inserire i nomi nel messaggio, vedi screenshot:

a screenshot of inserting placeholder

4. Poi digita il corpo del messaggio nella casella come necessario, vedi screenshot:

a screenshot of finishing the email body

5. Dopo aver finito il corpo dell'email, scegli la modalità di invio che preferisci, puoi inviare utilizzando Outlook o il tuo server specificato, vedi screenshot:

a screenshot of choosing one of the send modes

Nota:  Se vuoi usare un altro server, fai clic su Impostazioni Server in Uscita per impostare la modalità di invio personale, vedi screenshot:

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

6. Infine, fai clic sul pulsante Invia per inviare le e-mail, al termine, apparirà una finestra di avviso per ricordarti lo stato di invio. vedi screenshot:

a screenshot shows the number of emails successfully sent

Clicca per scaricare e provare gratuitamente Kutools per Excel Ora!


Demo: Invia e-mail personalizzate di massa a una lista da Excel tramite Outlook

 
Kutools per Excel: con oltre 300 utili add-in per Excel, prova gratuita senza limitazioni per 30 giorni. Scarica e prova gratuita Ora!

Articolo correlato:

Come inviare e-mail a più destinatari in una lista da Excel tramite Outlook?


I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e genera grafici | Richiama Funzioni avanzate
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca valori multipli  |   Ricerca su più fogli   |   Corrispondenza approssimativa ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!