Come utilizzare SMTP per inviare e-mail da WordPress

Pubblicato: 2023-04-11

WordPress ha un modo nativo di inviare e-mail. Utilizza la funzione PHP mail() per consegnare tutte quelle newsletter, reimpostazioni di password o qualsiasi altro tipo di email che stai inviando al tuo pubblico. Sebbene questo metodo dovrebbe teoricamente essere sufficiente, è tutt'altro che perfetto.

In WordPress, l'invio di e-mail con SMTP è un'alternativa molto migliore. E non è difficile da configurare. Il tutorial di oggi ti mostrerà come farlo con e senza plugin.

Cos'è l'SMTP?

SMTP o Simple Mail Transfer Protocol definisce le regole per la trasmissione di posta elettronica. Consente di scambiare e-mail tra diversi tipi di computer, server e reti.

Un server SMTP è un'app che funziona secondo il protocollo SMTP e invia e-mail dal mittente al destinatario. Per semplificare questo processo, il server SMTP riceve le email dal client di posta (Gmail, Yahoo!, Outlook, ecc.) e le trasferisce ad altri server SMTP, se necessario. Quindi le e-mail vengono raccolte dal server SMTP dei destinatari e consegnate utilizzando i server di posta in arrivo (POP3 o IMAP).

Perché è una buona idea utilizzare SMTP per inviare e-mail in WordPress?

Come accennato all'inizio, WordPress utilizza la funzione PHP mail() per inviare e-mail. Questo metodo è problematico per diversi motivi:

  • È adatto principalmente per e-mail semplici e di testo normale. Le funzionalità HTML sono piuttosto limitate e non è possibile aggiungere allegati o incorporare immagini. Ciò ti lascia con e-mail noiose e pochi o nessun elemento di design;
  • Presenta notevoli problemi di consegna. PHP mail() non ha intestazioni e-mail corrette. Di conseguenza, i provider di servizi Internet (ISP) contrassegnano le e-mail inviate con questo metodo come spam o le rifiutano del tutto. Quindi, se, ad esempio, invii automaticamente via e-mail nuovi post ai tuoi abbonati utilizzando PHP mail(), è probabile che frequenti le cartelle spam;
  • Non consente l'invio di e-mail tramite server esterni. Anche se configuri le impostazioni SMTP, sarà utilizzabile solo con localhost o una soluzione simile. PHP mail() non supporta neanche l'autenticazione SMTP.

La soluzione più semplice è configurare WordPress per inviare e-mail con un server SMTP. Quest'ultimo richiede l'autenticazione dell'intestazione e supporta la trasmissione sicura tramite SSL e TLS. Ciò significa che avrai minori possibilità di riscontrare problemi di consegna della posta elettronica, in particolare se utilizzi un servizio SMTP affidabile e imposti tutto correttamente.

In quella nota, scopriamo come inviare e-mail in WordPress con un server SMTP.

Configurare SMTP in WordPress senza plugin

Puoi configurare SMTP in WordPress senza plugin con un po' di codice e PHPMailer. È una libreria creata per PHP per superare le carenze della funzione mail(). PHPMailer supporta corpi e-mail complessi (inclusi HTML e immagini incorporate) e allegati. Soprattutto, ti consente di inviare e-mail con qualsiasi server SMTP.

Perché PHPMailer funzioni, abbiamo bisogno di un server SMTP funzionante. Nell'esempio di codice riportato di seguito, utilizzeremo Gmail SMTP per inviare e-mail in WordPress. Ma prima di iniziare, dovresti creare una password per l'app con queste istruzioni. In caso contrario, non sarai in grado di eseguire correttamente l'autenticazione.

Ora vai alla directory principale del tuo sito Web e individua il filewp-config.php. Utilizza il seguente esempio di codice per configurare le impostazioni SMTP di WordPress utilizzando le credenziali di Gmail.

 define( 'SMTP_username', '[email protected]' );
define( 'SMTP_password', 'tua-password-app-gmail');
define( 'SMTP_server', 'smtp.gmail.com' );
define( 'SMTP_FROM', '[email protected]' );
define( 'SMTP_NAME', 'Il tuo nome' );
define( 'SMTP_PORT', '587' );
define( 'SMTP_SECURE', 'tls' );
define('SMTP_AUTH', vero);
define('SMTP_DEBUG', 0);

Vai all'editor del tema e trova il filefunctions.phpper ulteriori modifiche. Si noti che si consiglia di apportare modifiche al tema figlio per evitare malfunzionamenti del tema principale. Aggiungi il seguente script al filefunctions.php.

 add_action( 'phpmailer_init', 'my_phpmailer_smtp' );
funzione mio_phpmailer_smtp( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_server;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Porta = SMTP_PORT;
$phpmailer->Nome utente = SMTP_nomeutente;
$phpmailer->Password = SMTP_password;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->Da = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
}

Salva le impostazioni e il gioco è fatto. Ora il tuo WordPress invia e-mail tramite il server SMTP.

Per maggiori dettagli, vedi come inviare e-mail in WordPress tramite la funzione PHP.

Utilizzo dei plug-in per configurare l'SMTP di WordPress

Un modo più semplice per configurare WordPress per l'invio di e-mail tramite SMTP è tramite plugin dedicati. Non richiedono competenze di codifica: sarai in grado di configurarli anche senza l'aiuto degli sviluppatori.

Posta WP SMTP

Posta WP SMTP

WP Mail SMTP è il plugin più popolare per la configurazione di SMTP. Indica a PHP mail() di utilizzare uno dei mailer integrati o le impostazioni SMTP personalizzate. In questo modo, risolve i problemi di deliverability della funzione nativa.

Puoi installare facilmente WP Mail SMTP accedendo alla scheda "Plugin" dalla dashboard del tuo sito Web WordPress e premendo "Aggiungi nuovo". Digita "WP Mail SMTP" nella casella di ricerca, premi "Installa ora", quindi "Attiva".

Installazione SMTP di posta WP

Una volta installato il plug-in, puoi configurare il mailer dalla dashboard o utilizzando la procedura guidata di installazione. Entrambi hanno lo stesso concetto, solo design diversi. Preferiamo utilizzare la dashboard, quindi configureremo il plug-in con il suo aiuto.

Abbiamo due opzioni principali:

  • Configura WP Mail SMTP con servizi SMTP di terze parti
  • Usa un mailer integrato

Il primo passaggio è lo stesso per entrambe le opzioni, quindi discutiamone qui. Apri le impostazioni SMTP di WP Mail e scorri verso il basso fino a Da e-mail e Da nome nella scheda "Connessione primaria".

Nel campo Da e-mail, inserisci l'indirizzo e-mail che verrà utilizzato per inviare e-mail. Questo potrebbe essere un account e-mail gratuito, ma consigliamo un indirizzo con un dominio personalizzato per una migliore consegna. Per garantire che l'indirizzo inserito venga utilizzato in tutte le e-mail, selezionare la casella Forza da e-mail.

Nel campo Da nome, inserisci il nome che verrà visualizzato nelle e-mail inviate. Ancora una volta, seleziona Forza dal nome per assicurarti che altri plug-in (ad esempio, WooCommerce o il plug-in della newsletter di WordPress) non sovrascrivano questa impostazione.

Configurazione SMTP di posta WP

Fatto ciò, possiamo passare alla configurazione del mailer per istruire WordPress a inviare e-mail con il plug-in.

Configurazione della posta WP con servizi SMTP di terze parti

L'utilizzo di un affidabile servizio SMTP di terze parti è fondamentale per garantire che le tue e-mail WordPress vengano recapitate alle caselle di posta dei destinatari. Con la funzione Other SMTP di WP Mail SMTP, puoi facilmente integrare il tuo mailer preferito. Per il tutorial di oggi, utilizzeremo un servizio SMTP affidabile fornito da Mailtrap.

Ma prima di integrarlo con il tuo sito Web WordPress, devi prima creare un account e seguire una procedura guidata in-app per verificare il tuo dominio. Per farlo, dovresti avere accesso ai record DNS del tuo dominio. In quelli, dovrai aggiungere record SPF, DKIM e DMARC già pronti, quindi premere Verifica dominio.

Verifica del dominio di Mailtrap

Una volta che il tuo account è attivo e funzionante, torna a "Invio di domini" e premi sul dominio verificato. Quindi fai clic su "API e SMTP", scegli "SMTP" e copia le credenziali.

Integrazioni smtp api mailtrap

Torna a WP Mail SMTP e scegli Altro SMTP nella scheda Mailer.

Mailtrap Altro SMTP

Vedrai una serie di campi vuoti. Compilali utilizzando le credenziali SMTP di Mailtrap:

  • Host SMTP: live.smtp.mailtrap.io
  • Crittografia: TLS (puoi anche scegliere SSL, ma TLS è consigliato)
  • Porta SMTP: 587 (verrà compilato automaticamente)
  • Autenticazione: attiva
  • Nome utente SMTP: api
  • Password SMTP: la tua password SMTP
Impostazioni SMTP di Mailtrap

Premere 'Salva impostazioni'. Vedrai una finestra di conferma. Se tutto è configurato correttamente e WordPress invia un'e-mail SMTP, torna al tuo account Mailtrap e premi "Verifica configurazione".

Configurazione verifica Mailtrap

Utilizzo del mailer integrato

Passiamo alla seconda opzione di integrazione: utilizzare un mailer integrato per garantire che WordPress utilizzi SMTP per inviare e-mail. Con questo metodo, puoi selezionare uno dei mailer SMTP di WP Mail, inclusi SendLayer, SMTP.com, Sendinblue, Amazon SES, ecc. Questo metodo può essere utilizzato anche per configurare Gmail SMTP in WordPress o anche Microsoft 365/Outlook.

Il processo di integrazione è simile per la maggior parte degli ESP. Ovviamente, dovresti avere un account funzionante per integrarlo con WP Mail SMTP. Dovrai solo scegliere il mailer e inserire la chiave API del tuo account. Le istruzioni in merito saranno disponibili nella documentazione ufficiale dell'ESP.

Mailer integrato

Con alcuni programmi di posta potrebbe essere necessario inserire il dominio di invio, l'ID del flusso di messaggi o la regione. Le istruzioni dettagliate per ciascun mailer sono disponibili qui.

Plug-in HubSpot WordPress

Plug-in HubSpot WordPress

WP Mail SMTP viene utilizzato principalmente per configurare WordPress per l'invio di e-mail con SMTP. Al contrario, HubSpot WordPress Plugin è un plug-in CRM (Customer Relationship Manager) completo per il tuo sito Web WordPress. Con il suo aiuto, puoi creare elenchi di e-mail con moduli di iscrizione, comunicare con i visitatori con la chat dal vivo e analizzare metriche importanti.

Ancora più importante, HubSpot WordPress Plugin ti consente di integrare il tuo ESP preferito per inviare e-mail di marketing (manualmente o automaticamente) ai tuoi contatti. Ha anche modelli integrati e un editor drag-and-drop. Quindi, se stai cercando qualcosa di più della configurazione SMTP, HubSpot potrebbe essere una buona scelta per te.

SMTP di Gmail

SMTP di Gmail

Gmail SMTP è un altro plug-in di WordPress per inviare e-mail con SMTP, ma è progettato specificamente per Gmail. Si basa su PHPMailer e sulla funzione nativa wp_mail per inviare e-mail, il che significa che puoi ancora utilizzare tutte le loro funzionalità.

Il plug-in SMTP di Gmail si connette a Gmail utilizzando l'API e il protocollo OAuth 2.0. In questo modo, non dovrai inserire alcun nome utente o password. Tuttavia, dovrai creare un'app nella Google Developer Console e configurare le credenziali OAuth. Fortunatamente, la pagina ufficiale del plugin elenca le istruzioni necessarie.

Posta Mailer SMTP

Posta Mailer SMTP

L'ultima opzione che abbiamo qui è Post SMTP Mailer. È un plug-in intuitivo che ti consente di integrare ESP utilizzando SMTP o API. La versione gratuita supporta le API Mailgun, SendGrid, Mandrill (ora Mailchimp Transactional Email), SparkPost, Postmark, Sendinblue e Gmail. La versione Pro ti darà accesso a Zoho Mail, Amazon SES e Microsoft 365.

Inoltre, Post SMTP Mailer archivia i registri delle email e invia notifiche a Chrome in caso di problemi.

Come testare le email in WordPress?

Per assicurarti che la tua configurazione possa inviare correttamente e-mail da WordPress, dovrai testare le tue e-mail. La maggior parte dei plugin viene fornita con la funzione di test predefinita per alcune ispezioni di base.

Con WP Mail SMTP, ad esempio, puoi accedere alla scheda "Email Test", inserire il tuo indirizzo email e premere "Invia email". Se la configurazione è corretta, dovresti trovare un'e-mail di prova nella tua casella di posta. In caso contrario, WP Mail SMTP ti mostrerà un registro degli errori.

Test di posta elettronica SMTP di WP Mail

Tuttavia, testare la funzionalità di invio di posta elettronica non è sempre sufficiente. È essenziale testare l'HTML, convalidare le intestazioni e controllare il punteggio di spam prima di inviare e-mail ai tuoi contatti. Ecco dove Mailtrap è un'altra soluzione, Email Testing può aiutarti. Catturerà le tue e-mail WordPress in una casella di posta virtuale, assicurandosi che nessuna di esse raggiunga le caselle di posta dei destinatari.

Analogamente a Email Sending, Email Testing può essere integrato con i plugin di WordPress utilizzando le sue credenziali SMTP. Li troverai nel tuo account espandendo "La mia posta in arrivo" e premendo "Mostra credenziali". Ecco come appariranno le impostazioni SMTP di esempio:

  • Host SMTP: sandbox.smtp.mailtrap.io
  • Crittografia: TLS o SSL
  • Porta SMTP: 465 o 587
  • Autenticazione: attiva
  • Nome utente SMTP: <nome utente SMTP>
  • Password SMTP: <la tua password SMTP>

In pochi secondi, la tua email di prova comparirà nella tua casella di posta virtuale se la configurazione è corretta.

Test della posta elettronica di Mailtrap

Come abbiamo visto, per configurare WordPress per l'invio di email con SMTP, hai due opzioni principali: codificare con PHPMailer o utilizzare i plugin. La prima opzione è più adatta agli sviluppatori, mentre la seconda opzione è perfetta per i marketer. Qualunque sia il metodo scelto, la cosa principale è trovare un modo per aggirare le carenze di PHP.

Tutti i plugin che abbiamo elencato sopra ti consentono di utilizzare l'SMTP di Gmail. Sebbene sia abbastanza buono per l'invio di e-mail occasionali, è meglio optare per un ESP affidabile per inviare elevati volumi di e-mail. In caso contrario, molto probabilmente le tue e-mail verranno contrassegnate come spam.

Godere!