Prefazione: dopo due anni di utilizzo, all’improvviso il mio “script” per l’invio dei messaggi ha smesso di funzionare. Dopo una serie di verifiche ho deciso di aggionare il tutto. La procedura seguente è stata seguita a ottobre 2021 con esito positivo.
Dopo un aggiornamento di sistema il server ha anche cambiato la versione di PHP presente, per sicurezza ho disabilitato la vecchia e, per evitare di compromettere Plesk ho seguito gli step riportati QUI per modificare la versione di PHP predefinita per la shell.
In poche parole basta modificare il nostro file “di lancio” inserendo il percorso corretto della versione PHP di cui abbiamo bisogno.
# cd ~
# vi .bash_profile
e poi “sistemiamo” le righe
# PATH=$PATH:$HOME/bin:/opt/plesk/php/8.0/bin
# alias php='/opt/plesk/php/8.0/bin/php'
e controlliamo se è tutto ok con il comando per verificare la versione in uso di PHP
# php -v
Passaggi necessari da seguire per sistemare il server e il nostro script:
- Predisporre in un percorso del server web il file get_oauth_token.php e i nostri file per l’invio dei messaggi. Qui puoi scaricare la versione stabile e gli esempi. https://github.com/PHPMailer/PHPMailer
- Attivare la verifica in 2 step dell’account Google. Qui trovi le istruzioni https://www.google.com/landing/2step/
- GENERARE un ID CLIENT OAUTH e relativa chiave di sicurezza. Qui trovi il link di accesso rapido https://console.cloud.google.com/apis/dashboard
- Inserire i codici del nostro ID CLIENT nel file get_oauth_token.php ed eseguirlo dal server per avere il codice di autorizzazione.
Selezionare tra le opzioni: Applicazione Web e inserire l’url completo dello script di autorizzazione ( https://www.nomesito……../get_oauth_token.php ) nella sezione “URI di reindirizzamento autorizzati”.
- Inserire i codici già generati (ID CLIENT e relativa chiave di sicurezza) insieme al codice di autorizzazione, nel file PHP che invierà le nostre email usando gli esempi predisposti nel repository PHPMailer.
- Infine, tramite SSH, dalla linea di comando, andando nella directory dove è installato lo script installare i seguenti componenti:
# composer require phpmailer/phpmailer
# composer require league/oauth2-client
# composer require league/oauth2-google
Grazie a questa soluzione, anche cambiando la nostra password dell’account, non avremo problemi di accesso. Il tutto è stato provato su di un server con PLESK basato su CENTOS 6.