Come impostare i parametri SMTP in WordPress senza usare un plugin

WordPress utilizza la funzione wp_mail() per inviare email, ma di default si affida alla funzione PHP mail(), che può non essere affidabile su alcuni server. Impostare SMTP manualmente è una soluzione più sicura ed efficace.

Modifica del file wp-config.php

Per evitare l'uso di plugin, possiamo configurare i parametri SMTP direttamente nel file wp-config.php. Aggiungi il seguente codice prima della riga /* That’s all, stop editing! Happy publishing. */:


define('SMTP_HOST', 'smtp.tuodominio.com');
define('SMTP_PORT', 587);
define('SMTP_USERNAME', 'tuo@email.com');
define('SMTP_PASSWORD', 'tua_password');
define('SMTP_FROM', 'tuo@email.com');
define('SMTP_FROM_NAME', 'Il Tuo Nome');
define('SMTP_SECURE', 'tls'); // Può essere 'ssl' o 'tls'
    

Modifica del file functions.php del tema

Ora dobbiamo dire a WordPress di usare questi parametri per inviare email. Apri il file functions.php del tuo tema e aggiungi il seguente codice:


function custom_smtp_settings($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = SMTP_HOST;
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Port       = SMTP_PORT;
    $phpmailer->Username   = SMTP_USERNAME;
    $phpmailer->Password   = SMTP_PASSWORD;
    $phpmailer->SMTPSecure = SMTP_SECURE;
    $phpmailer->From       = SMTP_FROM;
    $phpmailer->FromName   = SMTP_FROM_NAME;
}

add_action('phpmailer_init', 'custom_smtp_settings');
    

Test della configurazione

Per verificare che l’SMTP funzioni correttamente, puoi usare il seguente codice in un file temporaneo (ad esempio test-email.php):


require_once('wp-load.php');

$to = 'destinatario@email.com';
$subject = 'Test Email SMTP';
$message = 'Questa è una mail di prova inviata tramite SMTP configurato manualmente.';
$headers = ['Content-Type: text/html; charset=UTF-8'];

if (wp_mail($to, $subject, $message, $headers)) {
    echo 'Email inviata con successo!';
} else {
    echo 'Errore nell\'invio dell\'email.';
}
    

Carica questo file nella root di WordPress ed eseguilo nel browser (https://tuodominio.com/test-email.php). Se l’email arriva a destinazione, la configurazione è corretta!

Conclusione

Seguendo questi passaggi puoi configurare l’invio di email SMTP in WordPress senza usare plugin, migliorando sicurezza e affidabilità delle comunicazioni. Assicurati di proteggere il file wp-config.php e di usare credenziali sicure per evitare problemi di sicurezza.

Torna su