Come inviare le mail di worpdress tramite server SMTP esterno?
Come modificare la funzione wp_mail() nativa di wordpress?
Ecco come fare.
Introduzione
Inviare mail tramite smtp esterno autenticato è, ormai, cosa comune visto le regole sempre più restrittive dei filtri antispam.
Ormai è pratica comune perché inviare mail tramite smtp autenticato, anche con record DKIM e SPF configurati, aumenteremo di molto la percentuale che la mail inviata non venga percepita come spam.
Vediamo quindi come poter modificare la funzione nativa di wordpress wp_mail(), e configurarla per utilizzare il server SMTP da noi scelto.
Usare SMTP esterno
Worpdress utilizza, per inviare le mail, la classe PHPmailer e ci mette a disposizione l’hook phpmailer_init per modificare la configurazione base.
Vediamo con questo codice di esempio cosa modificare:
function wp_smtp_esterno($phpmailer){ $phpmailer->Mailer = 'smtp'; $phpmailer->Sender = 'noreply@smtp-esterno.com'; $phpmailer->SMTPSecure = 'ssl'; $phpmailer->Host = 'mail.smtp-esterno.com'; $phpmailer->Port = 465; $phpmailer->SMTPAuth = TRUE; $phpmailer->Username = 'username@smtp-esterno.com'; $phpmailer->Password = 'password'; $phpmailer = apply_filters('wp_mail_smtp_custom_options', $phpmailer); } add_action('phpmailer_init', 'wp_smtp_esterno');
Copiando questo codice nel file functions.php e modificando i parametri con quelli forniti dal tuo provider, wordpress invierà tutte le mail tramite smtp esterno.
Questo, per oggi, è tutto.
DETTAGLI
Livello: basso
Compatibilità: testato su WP versione 3.9.1
C’è un modo per inserire la password criptandola in modo che chi apre il file function non può leggerla?