Come cambiare l’indirizzo email predefinito di WordPress

Se ti trovi qui, molto probabilmente stai cercando di capire “Come cambiare l’indirizzo email da cui vengono inviate le email di sistema di WordPress” (ovvero il vecchio titolo di questo articolo, modificato solo per “sinteticità“)

Non appena viene fatta una nuova installazione WordPress, vengono installati degli script per eseguire delle azioni automatiche all’interno del sito. Alcuni di questi script richiedono l’invio di email che, quando verranno ricevute dai destinatari, dovranno per forza provenire da un “mittente”.

Per questo motivo, WordPress le invia da un indirizzo email “fittizio” appartenente al dominio su cui abbiamo effettuato l’installazione. Questo indirizzo email ha solitamente la forma “wordpress@dominio.it” (dove “dominio.it” corrisponde al dominio dove è stata effettuata l’installazione.

Screenshot del nome e dell'indirizzo email predefiniti da cui vengono inviate le email di WordPress

Come modificare l’indirizzo email del mittente?

Per modificare l’indirizzo email del mittente di queste email, esistono ovviamente dei plugin appositi, che però eviteremo di utilizzare, sia per non appesantire il sito, sia perché (diciamolo chiaramente), siamo sviluppatori! 💪🏻

Quindi, per fare questa modifica senza dover utilizzare dei plugin, avremo bisogno di mettere mano al codice del nostro tema.

Per farlo, come sempre, consiglio prima di tutto di utilizzare un tema child (se non sai cos’è, ho scritto un articolo che lo spiega) sia per non “rompere” il tema che stiamo usando, sia evitare di perdere queste modifiche quando andremo a fare gli aggiornamenti.

Il codice che servirà per effettuare questa modifica è molto breve, ovvero:

add_filter( 'wp_mail_from', 'modifica_email_predefinita_wp' );
function modifica_email_predefinita_wp( $email_originale ) {
    return "francesco@sche.ttino.it";
}

Se vogliamo analizzare il codice, in pratica, tramite la funzione “add_filter” stiamo aggiungendo un “filtro” che verrà applicato su un’azione che WordPress dovrà eseguire.

Questa azione è identificata da un “hook” (letteralmente “gancio”), ovvero il nome che identifica l’azione su cui dovremo applicare questo filtro. Nel nostro caso, l’azione si chiama “wp_mail_from”, ed è proprio quella che definisce l’indirizzo email da cui devono essere inviate le email di WordPress.

Il nostro “filtro” invece è identificato dall’hook “modifica_email_predefinita_wp”, ovvero il nome della funzione che andiamo a definire subito dopo, la quale non fa altro che ignorare l’indirizzo “$email_originale” (passato come parametro) e restituisce direttamente l’indirizzo email definito da noi (in questo caso “francesco@sche.ttino.it”).

Ovviamente, per utilizzare questo codice, ricorda di modificare l’indirizzo email con uno appartenente al tuo dominio, in modo da non essere contrassegnato come Spam dai vari provider di posta.

Come modificare il nome del mittente?

Per personalizzare ulteriormente le email che i nostri utenti riceveranno, vediamo come modificare il nome del mittente.

Il codice non è molto diverso:

add_filter( 'wp_mail_from_name', 'modifica_nome_email_predefinita_wp' );
function modifica_nome_email_predefinita_wp( $nome_email_originale ) {
    return "Francesco Schettino";
}

Allo stesso modo, infatti, si va ad aggiungere un filtro su un’azione di WordPress (chiamata “wp_mail_from_name”).

Questo filtro poi non fa altro che richiamare una funzione, definita da noi, che restituisce direttamente il nome che vogliamo utilizzare per il mittente (in questo caso “Francesco Schettino”).

Teoricamente dovrebbe andare tutto a buon fine… Come sempre, però, se dovessi avere problemi o bisogno di maggiori informazioni, sono sempre a disposizione! Buon lavoro!