Vi è mai capitato di iscrivervi alla mailing list di un sito bellissimo, interessante e professionale e ricevere una email di conferma da parte del mittente “[email protected]”? Non so voi cosa ne pensate, ma a me da un’idea di scarsa professionalità. Un po’ la stessa sensazione di quando vedete la favicon di default nel tab, oppure la scritta “Orgogliosamente realizzato con WordPress” nel footer di un sito. In questo articolo vedremo come modificare il mittente delle email di WordPress di default senza dover necessariamente utilizzare nessun tipo di plugin.

Esistono alcuni plugin che permettono di ottenere lo stesso risultato, tuttavia la soluzione più semplice e più efficace, a mio avviso, è quella di utilizzare gli hook e i filtri di WordPress, che consentono di andare a modificare alcune porzioni del codice senza andare a minare il funzionamento del core del sito.

In questo caso i filtri da utilizzare sono due, wp_mail_from wp_mail_from_name, e vanno inseriti all’interno del file functions.php del nostro tema principale (o meglio ancora all’interno del functions.php del nostro tema child – se non sai come fare contattami oppure lascia un commento in questo articolo, in fondo alla pagina).

Per prima cosa quindi, dobbiamo accedere al file functions.php. Questo può essere fatto sia attraverso un qualsiasi client FTP (ad esempio FireFTP o FileZilla) oppure accedendo direttamente all’editor di WordPress (come descritto in questo articolo).

Una volta aperto il file functions.php, basterà aggiungere le seguenti righe di codice:

/* modifica del mittente delle email  */

add_filter('wp_mail_from', 'modifica_indirizzo_mittente');
add_filter('wp_mail_from_name', 'modifica_nome_mittente');

function modifica_indirizzo_mittente($old) {
   return '[email protected]';
}
function modifica_nome_mittente ($old) {
   return 'nome del sito';
}

Inserendo, ovviamente, l’indirizzo email corretto e il nome del vostro sito (o qualsiasi altro testo si voglia inserire al posto di quello di default).

Ora non resta altro da fare che salvare il file functions.php e verificare che tutto funzioni correttamente!

Per qualsiasi problema, chiarimento o approfondimento, non esitare a contattarmi lasciando un commento, oppure tramite il contact form.

Se invece hai trovato utile questo articolo e pensi che possa essere utile a qualcuno dei tuoi amici, condividilo su facebook!

4 commenti
  1. Marco

    Ciao, articolo molto interessante.
    Premetto che sono alle prime armi e quindi potrei farti una domanda banale, oltre a cambiare questi parametri come faccio a cambiare quello che vedo nel mio client di posta in cui compare ancora “Rispondi-a [email protected]“?
    Grazie,
    Marco.

    Rispondi
    • Massimiliano
      Massimiliano dice:

      Ciao Marco,

      Ti ringrazio, sono molto contento che l’articolo ti sia piaciuto.

      Non è una domanda affatto banale secondo me, io non avevo mai avuto bisogno di fare una modifica del genere quindi mi sono dovuto documentare un po’.

      WordPress utilizza la funzione wp_mail() per generare le email, e questa funzione richiede una serie di variabili tra cui il mittente, l’oggetto, il testo della email e così via.
      Trovi la descrizione di questa funzione sul codex di WordPress, a questo link.

      Mentre i due filtri che ho indicato nell’articolo ti permettono di andare ad agire direttamente su alcune variabili specifiche (in particolare l’email ed il nome del mittente), quello che vuoi fare tu, a mio avviso, richiede di andare ad agire un po’ più a monte ed intervenire sulla variabile $headers, che fa parte degli argomenti passati alla funzione wp_mail().

      Io ho provato ad aggiungere il seguente codice nel mio file functions.php:

      add_filter('wp_mail', 'wp_mail_blogwp');
      function wp_mail_blogwp($args) {

      $args['headers'] = 'Reply-to: Nome Cognome <[email protected]>';
      return $args;

      }

      ed ha funzionato.

      N.B.: stai attento perché la variabile headers (o in questo caso l’elemento dell’array) potrebbe essere già popolata con dei valori, perché si usa per fare varie cose, non solo per aggiungere il “Reply-to” (ad esempio si usa anche per specificare il “Content Type”).

      Fai una prova tu stesso e fammi sapere come è andata! ;)

      Ciao,
      Max

      Rispondi
  2. Moreno

    Articolo fantastico! Lei è stato l’unico ad aver risolto il mio problema, che purtroppo non sono riuscito a risolvere in nessun modo se non grazie a lei, complimenti! Grazie mille!!!!

    Rispondi
    • Massimiliano
      Massimiliano dice:

      Salve Moreno,

      Sono veramente lieto che l’articolo le sia stato utile per risolvere il suo problema.

      Se le fa piacere, può visitare la pagina Facebook di BLOGWP.IT e mettere un like per rimanere aggiornato su tutte le prossime news!

      Grazie,
      Massimiliano

      Rispondi

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *