sto parlando di un computer in una lan in cui ho appena ripristinato win7 , installato wamp e che usa phpmailer per inviare una richiesta al server smtp di google per l'invio della posta
ma dal sistema appena installato dove phpmailer restituisce l'errore, riesci a mandare normalmente le mail???
ho installato un client di posta, mozilla thunderbird, e anche da li non si riesce ad inviare la posta, compare l'alert con lo stesso errore di phpmailer
530 5.7.0 Must issue a STARTTLS command first.
se però, da mozilla thunderbird, imposto una connessione smtp non criptata non funziona e da l'errore, se invece inposto una connessione criptata con ssl allora funziona e invia l'email
si potrebbe creare il certificato ssl anche su wamp, ma oltre ad essere complicato è probabile che nel ripristino di windows qualcosa non è andato, o anche no
per ripristino intendo che ho estratto i dischi di ripristino di win7(originale) per installarlo in un nuovo hhd ssd al posto di quello vecchio
mi sa che devo rifare la procedura da capo, riestrarre i dischi di ripristino, formattare il nuovo ssd, e reinstallare win sperando che vada tutto ok
sarebbe interessante prima capire cosa c'è che non va, se c'è qualche servizio in conflitto, file .dll di sistema corrotto o non so, ps l'antivirus disinstallto e firewall di win disattivato
una richiesta smtp è comunque una richiesta TCP? quali sono i servizi di win coinvolti?
andando piu a fondo nel debug di phpmailer qualcosa che non va gia nel metodo SendHello() con cui si stabilisce una prima comunicazione con il server smtp remoto
nel sistema funzionante la risposta ($rply) del server smtp di google è
codice:
250-mx.google.com at your service, [151.52.194.247] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH 250 ENHANCEDSTATUSCODES
nel sistema non funzionante la risposta invece è
codice:
250-mx.google.com at your service, [151.52.194.247] 250-SIZE 35882577 250-8BITMIME ENHANCEDSTATUSCODES
c'è una leggera differenza, manca
250-AUTH LOGIN PLAIN XOAUTH
quando poi viene chiamato il metodo SMTP::Authenticate()
il server smtp di google restituisce l'errore 530
530 5.7.0 Must issue a STARTTLS command first.
riporto il metodo SMTP::SendHello()
codice:
private function SendHello($hello, $host)
{
fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($code != 250) { $this->error = ...}
...
}
scusate per la lunghezza ma ho voluto documentare quanto possibile anche per capirci di piu io stesso