Come tutti già sappiamo nelle ultime settimane le aziende Tophost e Seeweb sono state bersaglio di numerosi attacchi DDOS ai propri server causando un down che ha messo offline per diverse ore a giorni alterni migliaia di siti web. Anche se al momento il pericolo non sembra completamente rientrato, si segnalano anche in questi giorni problematiche per gli accessi FTP seppure i siti sono online regolarmente, è necessario da parte dei designers dare spiegazioni ai clienti e valutare i danni alle strutture. Un problema serio riscontrato da moltissimi utenti è il non funzionamento dei form di contatto con PHPMailer, la famosissima libreria open source in php, e dei form dalle piattaforme WordPress. In questo articolo vi spiego come risolvere se avete un modulo contatti con PHPMailer su Tophost.
L’utilizzo delle funzioni mail di PHPMailer o mail di php sono prive di autenticazione e spesso la posta inviata finisce direttamente in spam ma, a prescindere da questo, al momento il provider non garantisce questo servizio seppure funzionante fino a qualche settimana fa. Confrontandomi con i tecnici dell’azienda e, sulla base delle mie conoscenze, ho risolto il problema attivando il modulo in modalità SMTP autenticato. Vediamo come.
Se avete un email già creata (non un alias) con password saltate pure questo step, se cosi invece non è accedete al pannello di controllo tophost all’indirizzo:
www.ilnomedelmiodominio.estensionedominio/cpanel
e inserite i dati di accesso in vostro possesso.
Entrati nel pannello di controllo cliccate sulla voce POP/IMAP account e-mail
Selezionate il pop account presente, inserite una password e cliccate su modifica.
Da questo momento potete accedere alla webmail non più con la password del dominio ma con quella appena inserita mentre rimane invariata per pannello di controllo e ftp; potete verificare l’accesso cliccando qui
A questo punto non vi rimane che aprire i vostri file php dove gestite le email dai moduli di contatto e utilizzare il metodo SMTP dopo aver istanziato la classe richiamandola con i soliti require_once o include_once
$mail -> new PHPMailer(); $mail -> IsSMTP(); $mail -> SMTPAuth = true; $mail -> Host = “mail.nomeadominio.estensione”; $mail -> Port = 587; $mail -> Username = “nomeadominio.estensione”; $mail -> Password = “La password scelta”; $mail -> IsHTML(true); ecc, ecc
Grazie a questi semplici passaggi tutta la struttura ritornerà a funzionare sfruttando il metodo SMTP autenticato, molto più sicuro e stabile del metodo mail. Si presuppone la stessa codifica sia funzionale anche per gli altri provider dove dovremo però ricercare il corretto pop account e la porta di accesso.
A buon rendere.