Phpmailer ed wind-infostrada

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Buonasera, ho cambiato provider da qualche tempo e sono passato da fastweb ad infostrada. Prima inserivo le credenziali in phpmailer per autorizzare l'invio di mail, adesso con infostrada non ho ne mail ne credenziali come posso fare? Questo è parte del codice dell'invio:
PHP:
	if ($inviautentitemp) {
					//se tutto è OK da qua preparo l'invio della mail di conferma per l'avvenuta registrazione.
					include_once("class.phpmailer.php");
					$mail = new PHPmailer();
					$mail->IsSMTP();
					$mail->isHTML(true);
					$mail->SMTPAuth = true;
					$mail->SMTPDebug = true;
					$mail->Host = "smtp.libero.it";
					$mail->Port = "25";

					// Impostazioni invio mail al cliente
					$mail->Setfrom ("[email protected]","Biblionet");   //Inserire la mail dell'amministratore ed il nome del sito
					$mail->AddReplyTo("[email protected]","Amministratore");
					$mail->AddAddress ($email); //Mail di chi si è iscritto che riceverà la richiesta di conferma
					$mail->AltBody = "Il tuo client di posta non è settato per la ricezione in HTML";
					$mail->Subject = "Conferma di registrazione al sito www.biblionetsanmaurizio.com";
					$testo="<p>Ecco il tuo codice di attivazione</p><br />";
infine faccio il controllo:
PHP:
	if ($mail->Send()){
						echo '<div id="mailok"><p style="margin-top: 2px;">Complimenti,<br />
          la registrazione è andata a buon fine, tra breve riceverai una mail con un link per attivare il tuo account.
          Nel caso non arrivasse, controlla la casella SPAM oppure <a href="Contatti2.php">segnalaci</a> il problema che ti aiuteremo a risolverlo.
          <br />Grazie dallo Staff Biblionet</p><p>Tra breve sarai indirizzato alla home page del sito, se non fosse così clicca <a href="Newindex.php">QUI</a></p></div>';
						echo "<meta http-equiv='Refresh' content='15; URL=Newindex.php'>";
					} else {
						//Nel caso clikko su invia senza compilare nulla mi torna a questa pagina
						echo '<div id="benvenuto">
						<p><h3>C\'è stato un errore nell\'invio della mail</h3></p>
						Cortesemente riprova e se vedi che il problema persiste, contattaci direttamente</div>'; //	Messaggio di errore invio mail
						echo "<meta http-equiv='Refresh' content='30; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
					}
Nota a margine, sia che la mail vada sia che non vada io non riesco a visualizzare alcun messaggio di risposta. me ne accorgo solamente se ricevo la mail, e dopo aver cliccato su invia mi ritorna lapagina del form ma se faccio un refresh della pagina mi reinvia i dati, cosa che non vorrei fare.

grazie a chiunque mi sa dare una dritta
 
ciao,

se sei cliente Infostrada, chiama il supporto telefonico e fatti dare le credenziali della tua casella di posta
già che ci sei chiedi con che parametri collegarti
(porta, autorizzazione, connessione protetta)

altrimenti sottoscrivi un altro servizio gratuito, Hotmail, gmail, web.de ... ed utilizzi questo servizio

ciao
Marino
 
Ho chiamato il call center di infostrada, e come sempre rispondono dall'estero e puntualmente chi mi risponde non capisce un belino (per essere gentili). Mi dice che non ci sono credenziali da inserire e mi da un link da seguire per avere aiuto. Assurdo!! Commenti a parte per il tipo di assistenza, cosa dovrò inserire come credenziali? Io ho un acocunt su gmail ma per fare il test in locale dite che basta inserire l'smtp di libero e le credenziali di un account qualsiasi?
 
ciao

PHP:
      $eM_Host     = "smtp.gmail.com";		// ok PHPmailer
      $eM_Port     = 465;
      $eM_Auth     = true;
      $eM_Secure   = "ssl";
      $eM_username = "[email protected]";
      $eM_password = "CAMBIAMI";

puoi anche inserire, prima di chiamare phpmailer,

PHP:
  $mail->SMTPDebug = 4;			// attiva log dell'invio, ELIMINARE quando si mette in "produzione"
per vedere il risultato dell'invio
ciao
Marino

ps quando chiami il supporto, lascia stare le credenziali, chiedi loro di aiutarti ad usare il client di posta elettronica online
(www.libero.it -> la tua mail) sono obbligati a darti userid e psw, è il primo passo
 
Ultima modifica:
ciao

PHP:
      $eM_Host     = "smtp.gmail.com";		// ok PHPmailer
      $eM_Port     = 465;
      $eM_Auth     = true;
      $eM_Secure   = "ssl";
      $eM_username = "[email protected]";
      $eM_password = "CAMBIAMI";

puoi anche inserire, prima di chiamare phpmailer,

PHP:
  $mail->SMTPDebug = 4;			// attiva log dell'invio, ELIMINARE quando si mette in "produzione"
per vedere il risultato dell'invio
ciao
Marino
questi dati li ho già inseriti ma purtroppo non ottengo nulla. Ho provato ad inserire sia smtp di gmail sia quelli di libero (mail.libero.it e smtp.libero.it) senza ottenere risultati. Il problema inoltre è che ho provato a inviare una mail con sendmail come alternativa a phpmailer usando questo form
PHP:
<?php
$subject="Test mail";
$to="[email protected]";
$body="This is a test mail";
if (mail($to,$subject,$body))
	echo "Mail sent successfully!";
else
	echo"Mail not sent!";
?>
mi appare mail sent ma non ricevo nulla ne in send mail ne nella mia casella gmail. Sono disperato non so dove sbattere la testa e non riesco in questo modo a completare il i form.
 
ti mando i files che utilizzo per provare l'invio delle mail,
nello zip allegato trovi,

Config_MAIL.php
che contiene tutti i servizi di cui sono sicuro del funzionamento (escluso tiscali)
sostituisci "CAMBIAMI" con i tuoi valori, nel servizio che vuoi utilizzare

PHPMailer_Test.php
che richiama PHPMailer e il file con i servizi,
visualizza i parametri,
permette di modificarli
ed invia la mail
puoi inviare la mail senza mettere nessun allegato (già che c'ero ho cercato di fare qualcosa di completo)

devi solo indicare quale servizio vuoi usare modificando la riga seguente,
PHP:
SMTPservice(2); // sceglie il servizio SMTP da provare per invio mail, da Config_MAIL.php
l'ho, di nuovo, provato con "gmail" appena prima di scrivere questo post e come puoi vedere dal risultato, funziona
fai sapere
ciao
Marino

Codice:
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "220 mx.google.com ESMTP nf11sm68964575wic.9 - gsmtp " 
SMTP -> get_lines(): $data is "220 mx.google.com ESMTP nf11sm68964575wic.9 - gsmtp " 
SMTP -> FROM SERVER:220 mx.google.com ESMTP nf11sm68964575wic.9 - gsmtp 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "250-mx.google.com at your service, [IP.IP.IP.IP] " 
SMTP -> get_lines(): $data is "250-mx.google.com at your service, [IP.IP.IP.IP] " 
SMTP -> get_lines(): $data was "250-mx.google.com at your service, [IP.IP.IP.IP] " 
SMTP -> get_lines(): $str is "250-SIZE 35882577 " 
SMTP -> get_lines(): $data is "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 " 
SMTP -> get_lines(): $data was "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 " 
SMTP -> get_lines(): $str is "250-8BITMIME " 
SMTP -> get_lines(): $data is "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 250-8BITMIME " 
SMTP -> get_lines(): $data was "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 250-8BITMIME " 
SMTP -> get_lines(): $str is "250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN " 
SMTP -> get_lines(): $data is "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN " 
SMTP -> get_lines(): $data was "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN " 
SMTP -> get_lines(): $str is "250-ENHANCEDSTATUSCODES " 
SMTP -> get_lines(): $data is "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN 250-ENHANCEDSTATUSCODES " 
SMTP -> get_lines(): $data was "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN 250-ENHANCEDSTATUSCODES " 
SMTP -> get_lines(): $str is "250 CHUNKING " 
SMTP -> get_lines(): $data is "250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN 250-ENHANCEDSTATUSCODES 250 CHUNKING " 
SMTP -> FROM SERVER: 250-mx.google.com at your service, [IP.IP.IP.IP] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN 250-ENHANCEDSTATUSCODES 250 CHUNKING 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "334 VXNlcm5hbWU6 " 
SMTP -> get_lines(): $data is "334 VXNlcm5hbWU6 " 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "334 UGFzc3dvcmQ6 " 
SMTP -> get_lines(): $data is "334 UGFzc3dvcmQ6 " 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "235 2.7.0 Accepted " 
SMTP -> get_lines(): $data is "235 2.7.0 Accepted " 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "250 2.1.0 OK nf11sm68964575wic.9 - gsmtp " 
SMTP -> get_lines(): $data is "250 2.1.0 OK nf11sm68964575wic.9 - gsmtp " 
SMTP -> FROM SERVER:250 2.1.0 OK nf11sm68964575wic.9 - gsmtp 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "250 2.1.5 OK nf11sm68964575wic.9 - gsmtp " 
SMTP -> get_lines(): $data is "250 2.1.5 OK nf11sm68964575wic.9 - gsmtp " 
SMTP -> FROM SERVER:250 2.1.5 OK nf11sm68964575wic.9 - gsmtp 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "354 Go ahead nf11sm68964575wic.9 - gsmtp " 
SMTP -> get_lines(): $data is "354 Go ahead nf11sm68964575wic.9 - gsmtp " 
SMTP -> FROM SERVER:354 Go ahead nf11sm68964575wic.9 - gsmtp 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "250 2.0.0 OK 1404651274 nf11sm68964575wic.9 - gsmtp " 
SMTP -> get_lines(): $data is "250 2.0.0 OK 1404651274 nf11sm68964575wic.9 - gsmtp " 
SMTP -> FROM SERVER:250 2.0.0 OK 1404651274 nf11sm68964575wic.9 - gsmtp 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "221 2.0.0 closing connection nf11sm68964575wic.9 - gsmtp " 
SMTP -> get_lines(): $data is "221 2.0.0 closing connection nf11sm68964575wic.9 - gsmtp " 
SMTP -> FROM SERVER:221 2.0.0 closing connection nf11sm68964575wic.9 - gsmtp 
MESSAGGIO INVIATO
 

Allegati

Ultima modifica:
nel tuo ultimo script stai usando la funzione mail di php, sei sicuro che il servizio SMTP è correttamente "settato" in php.ini ?
altrimenti dovresti inserire nel tuo script gli ini_set (per integrare php.ini) con i parametri giusti

prova lo script che ti ho inviato, con un passo per volta arrivi alla soluzione

ciao
Marino
 
anche libero ha accettato la mail, con questi parametri
PHP:
    case 97:
      $eM_Host     = "smtp.libero.it";
      $eM_Port     = 465;
      $eM_Auth     = true;
      $eM_Secure   = "ssl";
      $eM_username = "[email protected]";
      $eM_password = "CAMBIAMI";
      break;
ciao
Marino

Codice:
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "220 outrelay06.libero.it ESMTP Service ready " 
SMTP -> get_lines(): $data is "220 outrelay06.libero.it ESMTP Service ready " 
SMTP -> FROM SERVER:220 outrelay06.libero.it ESMTP Service ready 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "250-outrelay06.libero.it " 
SMTP -> get_lines(): $data is "250-outrelay06.libero.it " 
SMTP -> get_lines(): $data was "250-outrelay06.libero.it " 
....
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "250 <53B2B8EA01949F6B> Mail accepted " 
SMTP -> get_lines(): $data is "250 <53B2B8EA01949F6B> Mail accepted " 
SMTP -> FROM SERVER:250 <53B2B8EA01949F6B> Mail accepted 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "221 outrelay06.libero.it QUIT " 
SMTP -> get_lines(): $data is "221 outrelay06.libero.it QUIT " 
SMTP -> FROM SERVER:221 outrelay06.libero.it QUIT 
MESSAGGIO INVIATO
 
Un grazie infinite di cuore a Marino. Il tuo file e le tue spiegazini anche seppur semplici per te mi hanno fatto fare menolavoro e testare l'invio delle mail con phpmailer. Per completezza aggiungo qui le impostazioni per aruba nel caso possa servire a qualcuno
PHP:
      $eM_Host     = "smtps.aruba.it";		// ok mail
      $eM_Port     = 465;
      $eM_Auth     = true;
      $eM_Secure   = "ssl";
      $eM_username = "[email protected]";
      $eM_password = "CAMBIAMI";

Al posto di username ci va l'account creato su aruba legato al dominio e la password alla riga dopo.

:jolly::cool:

In ultimo ho inserito questi dati nel mio form ma purtroppo non ricevo nulla e sono a metà strada. riposto qua la parte di codice dell'invio mail:
PHP:
if ($inviautentitemp) {
					//se tutto è OK da qua preparo l'invio della mail di conferma per l'avvenuta registrazione.
					require_once("class.phpmailer.php,class.smtp.php");

					$mail = new PHPMailer();
					$mail->IsSMTP();                    // attiva l'invio tramiteSMTP
					$mail->isHTML(true);
					$mail->SMTPDebug= 1;
					$mail->Host     	= "smtps.aruba.it";		// ok mail SMTP aruba con SSL
					$mail->Port     	= 465;					//Porta SSL con autenticazione
					$mail->SMTPAuth 	= true;
					$mail->SMTPSecure	= "ssl";
					$mail->Username		= "[email protected]"; //username della casella di posta creata ad hoc
					$mail->Password		 = "password";						//Password dellac asella di posta
					
					// Impostazioni invio mail al cliente
					$mail->Setfrom ("[email protected]","Biblionet");   //Inserire la mail dell'amministratore ed il nome del sito
					$mail->AddReplyTo("[email protected]","Amministratore");
					$mail->AddAddress ($email); //Mail di chi si è iscritto che riceverà la richiesta di conferma
					$mail->AltBody = "Il tuo client di posta non è settato per la ricezione in HTML";
					$mail->Subject = "Conferma di registrazione al sito www.biblionetsanmaurizio.com";
					$testo="<p>Ecco il tuo codice di attivazione</p><br />";
					$mail->Body =$testo;
					if ($mail->Send())
					{
							echo "Mail inviata con successo";
					} else {
						echo "Si e' verificato un errore nell'invio della mail";
						echo $mail->ErrorInfo;

mancano alcune parentesi graffe di chiusura ma il concetto è questo. Al momento dell'invio della mail invece di apparire un messaggio ok, od un errore mi si ricarica la pagina e non capisco dove sbaglio.
Dimenticavo di dire che vorrei usare sendmail in locale ma anche qui non ne vengo a capo. Qualche dritta?! ;)
 
mi sembra che lo script che hai postato sia "pulito",
ho fatto il confronto e non vedo differenze sostanziali con il mio test

1) nel tuo script, dovresti controllare con var_dump ( o altro sistema a te congeniale ), che la variabile $email contenga il valore corretto

2) prova l'esecuzione commentando la riga di codice che contiene setFrom

se ancora non funziona, prova lo script allegato (è ancora il tuo isolando l'invio della mail)
per favore inserisci la mail del destinatario e le credenziali di connessione

vedrai il setFrom commentato, prova lasciando il commento e vedi l'effetto che fa

fai sapere, ciao
Marino

PHP:
<?php
  require_once("class.phpmailer.php,class.smtp.php");

  $email = "inserisci email destinatario";

  $mail = new PHPMailer();
  $mail->IsSMTP();				// attiva l'invio tramiteSMTP
  $mail->isHTML(true);
  $mail->SMTPDebug= 4;
  $mail->Host         = "smtps.aruba.it";	// ok mail SMTP aruba con SSL
  $mail->Port         = 465;			//Porta SSL con autenticazione
  $mail->SMTPAuth     = true;
  $mail->SMTPSecure   = "ssl";
  $mail->Username     = "[email protected]";		//username della casella di posta creata ad hoc
  $mail->Password     = "password";		//Password della casella di posta
  
//  $mail->Setfrom("[email protected]","Biblionet");	//Inserire la mail dell'amministratore ed il nome del sito

  $mail->AddReplyTo("[email protected]","Amministratore");

  $mail->AddAddress($email);			//Mail di chi si è iscritto che riceverà la richiesta di conferma

  $mail->AltBody = "Il tuo client di posta non è settato per la ricezione in HTML";
  $mail->Subject = "Conferma di registrazione al sito www.biblionetsanmaurizio.com";
  $testo="<p>Ecco il tuo codice di attivazione</p><br />";
  $mail->Body = $testo;
  if ($mail->Send()) echo "Mail inviata con successo";
  else  echo "Si e' verificato un errore nell'invio della mail";
?>
 
Ultima modifica:
Ho fatto come hai detto, ho eliminato la riga setFrom, ,messo le credenziali, ma purtroppo non vedo risultati. nel codice che ho postato la riga
PHP:
$mail->AddAddress ($email); //Mail di chi si è iscritto che riceverà la richiesta di conferma
già comprende la mail del destinatario presa dal form.
Quanto al var_dump ho provato ad inserirlo qua
PHP:
	if ($inviautentitemp) {var_dump($inviautentitemp);
ma non vedo nessun avviso. Dove dovrei inserirlo? Se preferisci ti posto tutto il codice, non so dove mettere le mani.
 
hai fatto la prova con lo script che contiene solo l'invio della mail e che ti ho postato ?
che risultato ti ha dato ?

se puoi posta il codice completo
ciao
Marino
 
Posto qua il codice di invio ed il var_dump
PHP:
 <?php
 
 require_once('class.phpmailer.php');

 $email = "mail del destinatario";

 $mail = new PHPMailer();
 $mail->IsSMTP();                    // attiva l'invio tramiteSMTP
 $mail->isHTML(true);
 $mail->SMTPDebug= 1;
 $mail->Host     	= "smtps.aruba.it";		// ok mail SMTP aruba con SSL
 $mail->Port     	= 465;					//Porta SSL con autenticazione
 $mail->SMTPAuth 	= true;
 $mail->SMTPSecure	= "ssl";
 $mail->Username		= "[email protected]"; //username della casella di posta creata ad hoc
 $mail->Password		 = "pass";        //Password della casella di posta

 $mail->AddReplyTo("[email protected]","Amministratore");

 $mail->AddAddress($email);            //Mail di chi si è iscritto che riceverà la richiesta di conferma

 $mail->AltBody = "Il tuo client di posta non è settato per la ricezione in HTML";
 $mail->Subject = "Conferma di registrazione al sito www.biblionetsanmaurizio.com";
 $testo="<p>Ecco il tuo codice di attivazione</p><br />";
 $mail->Body = $testo;
 var_dump($mail);;
 if ($mail->Send()) echo "Mail inviata con successo";
 else  echo "Si e' verificato un errore nell'invio della mail";
 ?>
qua il var_dump
PHP:
object(PHPMailer)#1 (65) { ["Priority"]=> int(3) ["CharSet"]=> string(10) "iso-8859-1" ["ContentType"]=> string(9) "text/html" ["Encoding"]=> string(4) "8bit" ["ErrorInfo"]=> string(0) "" ["From"]=> string(14) "root@localhost" ["FromName"]=> string(9) "Root User" ["Sender"]=> string(0) "" ["ReturnPath"]=> string(0) "" ["Subject"]=> string(62) "Conferma di registrazione al sito www.biblionetsanmaurizio.com" ["Body"]=> string(46) "

Ecco il tuo codice di attivazione

" ["AltBody"]=> string(62) "Il tuo client di posta non è settato per la ricezione in HTML" ["MIMEBody":protected]=> string(0) "" ["MIMEHeader":protected]=> string(0) "" ["mailHeader":protected]=> string(0) "" ["WordWrap"]=> int(0) ["Mailer"]=> string(4) "smtp" ["Sendmail"]=> string(15) "/xampp/sendmail" ["UseSendmailOptions"]=> bool(true) ["PluginDir"]=> string(0) "" ["ConfirmReadingTo"]=> string(0) "" ["Hostname"]=> string(0) "" ["MessageID"]=> string(0) "" ["MessageDate"]=> string(0) "" ["Host"]=> string(14) "smtps.aruba.it" ["Port"]=> int(465) ["Helo"]=> string(0) "" ["SMTPSecure"]=> string(3) "ssl" ["SMTPAuth"]=> bool(true) ["Username"]=> string(28) "[email protected]" ["Password"]=> string(9) "pass" ["AuthType"]=> string(0) "" ["Realm"]=> string(0) "" ["Workstation"]=> string(0) "" ["Timeout"]=> int(10) ["SMTPDebug"]=> int(1) ["Debugoutput"]=> string(4) "echo" ["SMTPKeepAlive"]=> bool(false) ["SingleTo"]=> bool(false) ["SingleToArray"]=> array(0) { } ["LE"]=> string(1) " " ["DKIM_selector"]=> string(0) "" ["DKIM_identity"]=> string(0) "" ["DKIM_passphrase"]=> string(0) "" ["DKIM_domain"]=> string(0) "" ["DKIM_private"]=> string(0) "" ["action_function"]=> string(0) "" ["Version"]=> string(5) "5.2.4" ["XMailer"]=> string(0) "" ["smtp":protected]=> NULL ["to":protected]=> array(1) { [0]=> array(2) { [0]=> string(28) "mail del destinatario" [1]=> string(0) "" } } ["cc":protected]=> array(0) { } ["bcc":protected]=> array(0) { } ["ReplyTo":protected]=> array(1) { ["[email protected]"]=> array(2) { [0]=> string(32) "[email protected]" [1]=> string(14) "Amministratore" } } ["all_recipients":protected]=> array(1) { ["mail del destinatario"]=> bool(true) } ["attachment":protected]=> array(0) { } ["CustomHeader":protected]=> array(0) { } ["message_type":protected]=> string(0) "" ["boundary":protected]=> array(0) { } ["language":protected]=> array(0) { } ["error_count":protected]=> int(0) ["sign_cert_file":protected]=> string(0) "" ["sign_key_file":protected]=> string(0) "" ["sign_key_pass":protected]=> string(0) "" ["exceptions":protected]=> bool(false) } Mail inviata con successo
 
Allora, ho cambiato l'indirizzo mail del destinatario, avevo messo un indirizzo mail di libero che ho creato apposta, e su questo indirizzo non ricevevo nulla mentre inserendo una mail di gmail ho ricevuto correttamente la mail. Posto qua il log completo:
PHP:
object(PHPMailer)#1 (65) { ["Priority"]=> int(3) ["CharSet"]=> string(10) "iso-8859-1" ["ContentType"]=> string(9) "text/html" ["Encoding"]=> string(4) "8bit" ["ErrorInfo"]=> string(0) "" ["From"]=> string(14) "root@localhost" ["FromName"]=> string(9) "Root User" ["Sender"]=> string(0) "" ["ReturnPath"]=> string(0) "" ["Subject"]=> string(62) "Conferma di registrazione al sito www.biblionetsanmaurizio.com" ["Body"]=> string(46) "

Ecco il tuo codice di attivazione

" ["AltBody"]=> string(62) "Il tuo client di posta non è settato per la ricezione in HTML" ["MIMEBody":protected]=> string(0) "" ["MIMEHeader":protected]=> string(0) "" ["mailHeader":protected]=> string(0) "" ["WordWrap"]=> int(0) ["Mailer"]=> string(4) "smtp" ["Sendmail"]=> string(15) "/xampp/sendmail" ["UseSendmailOptions"]=> bool(true) ["PluginDir"]=> string(0) "" ["ConfirmReadingTo"]=> string(0) "" ["Hostname"]=> string(0) "" ["MessageID"]=> string(0) "" ["MessageDate"]=> string(0) "" ["Host"]=> string(14) "smtps.aruba.it" ["Port"]=> int(465) ["Helo"]=> string(0) "" ["SMTPSecure"]=> string(3) "ssl" ["SMTPAuth"]=> bool(true) ["Username"]=> string(28) "[email protected]" ["Password"]=> string(9) "pass" ["AuthType"]=> string(0) "" ["Realm"]=> string(0) "" ["Workstation"]=> string(0) "" ["Timeout"]=> int(10) ["SMTPDebug"]=> int(4) ["Debugoutput"]=> string(4) "echo" ["SMTPKeepAlive"]=> bool(false) ["SingleTo"]=> bool(false) ["SingleToArray"]=> array(0) { } ["LE"]=> string(1) " " ["DKIM_selector"]=> string(0) "" ["DKIM_identity"]=> string(0) "" ["DKIM_passphrase"]=> string(0) "" ["DKIM_domain"]=> string(0) "" ["DKIM_private"]=> string(0) "" ["action_function"]=> string(0) "" ["Version"]=> string(5) "5.2.4" ["XMailer"]=> string(0) "" ["smtp":protected]=> NULL ["to":protected]=> array(1) { [0]=> array(2) { [0]=> string(22) "[email protected]" [1]=> string(0) "" } } ["cc":protected]=> array(0) { } ["bcc":protected]=> array(0) { } ["ReplyTo":protected]=> array(1) { ["[email protected]"]=> array(2) { [0]=> string(32) "[email protected]" [1]=> string(14) "Amministratore" } } ["all_recipients":protected]=> array(1) { ["[email protected]"]=> bool(true) } ["attachment":protected]=> array(0) { } ["CustomHeader":protected]=> array(0) { } ["message_type":protected]=> string(0) "" ["boundary":protected]=> array(0) { } ["language":protected]=> array(0) { } ["error_count":protected]=> int(0) ["sign_cert_file":protected]=> string(0) "" ["sign_key_file":protected]=> string(0) "" ["sign_key_pass":protected]=> string(0) "" ["exceptions":protected]=> bool(false) } SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "220 smtpcmd04.ad.aruba.it bizsmtp ESMTP server ready "
SMTP -> get_lines(): $data is "220 smtpcmd04.ad.aruba.it bizsmtp ESMTP server ready "
SMTP -> FROM SERVER:220 smtpcmd04.ad.aruba.it bizsmtp ESMTP server ready
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you "
SMTP -> get_lines(): $data is "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you "
SMTP -> get_lines(): $data was "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you "
SMTP -> get_lines(): $str is "250-HELP "
SMTP -> get_lines(): $data is "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP "
SMTP -> get_lines(): $data was "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP "
SMTP -> get_lines(): $str is "250-AUTH LOGIN PLAIN "
SMTP -> get_lines(): $data is "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN "
SMTP -> get_lines(): $data was "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN "
SMTP -> get_lines(): $str is "250-SIZE 524288000 "
SMTP -> get_lines(): $data is "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 "
SMTP -> get_lines(): $data was "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 "
SMTP -> get_lines(): $str is "250-ENHANCEDSTATUSCODES "
SMTP -> get_lines(): $data is "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 250-ENHANCEDSTATUSCODES "
SMTP -> get_lines(): $data was "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 250-ENHANCEDSTATUSCODES "
SMTP -> get_lines(): $str is "250-8BITMIME "
SMTP -> get_lines(): $data is "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 250-ENHANCEDSTATUSCODES 250-8BITMIME "
SMTP -> get_lines(): $data was "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 250-ENHANCEDSTATUSCODES 250-8BITMIME "
SMTP -> get_lines(): $str is "250 OK "
SMTP -> get_lines(): $data is "250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 OK "
SMTP -> FROM SERVER: 250-smtpcmd04.ad.aruba.it hello [151.66.15.188], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 OK
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "334 VXNlcm5hbWU6 "
SMTP -> get_lines(): $data is "334 VXNlcm5hbWU6 "
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "334 UGFzc3dvcmQ6 "
SMTP -> get_lines(): $data is "334 UGFzc3dvcmQ6 "
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "235 2.7.0 ... authentication succeeded "
SMTP -> get_lines(): $data is "235 2.7.0 ... authentication succeeded "
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "250 2.1.0 sender ok "
SMTP -> get_lines(): $data is "250 2.1.0 sender ok "
SMTP -> FROM SERVER:250 2.1.0 sender ok
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "250 2.1.5 recipient ok "
SMTP -> get_lines(): $data is "250 2.1.5 recipient ok "
SMTP -> FROM SERVER:250 2.1.5 recipient ok
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "354 enter mail, end with "." on a line by itself "
SMTP -> get_lines(): $data is "354 enter mail, end with "." on a line by itself "
SMTP -> FROM SERVER:354 enter mail, end with "." on a line by itself
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "250 2.0.0 PNf71o02L43T1JF01Nf7Rc mail accepted for delivery "
SMTP -> get_lines(): $data is "250 2.0.0 PNf71o02L43T1JF01Nf7Rc mail accepted for delivery "
SMTP -> FROM SERVER:250 2.0.0 PNf71o02L43T1JF01Nf7Rc mail accepted for delivery
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "221 2.0.0 smtpcmd04.ad.aruba.it bizsmtp closing connection "
SMTP -> get_lines(): $data is "221 2.0.0 smtpcmd04.ad.aruba.it bizsmtp closing connection "
SMTP -> FROM SERVER:221 2.0.0 smtpcmd04.ad.aruba.it bizsmtp closing connection
Mail inviata con successo

Non capisco perchè sull'account libero non ricevo nulla.
P.S. alla voce smtpdebug pensavo che il codice "1" fosse il dettaglio, ecco perchè l'avevo messo, ora è corretto.
 
Ecco il codice completo della pagina del form, spero possa tornare utile a comprendere come mai le mai non partono:
PHP:
<?php
	session_start();
?>
<script type="text/javascript">
<!--
//Funzione per inserire gli slash nell'inserimento della data di nascita
function addSlashes(input) {
    var v = input.value;
    if (v.match(/^\d{2}$/) !== null) {
        input.value = v + '/';
    } else if (v.match(/^\d{2}\/\d{2}$/) !== null) {
        input.value = v + '/';
    }
}
//-->
</script>
<script type="text/javascript">
<!--
//Script per far apparirre i placeholder anche in IE
//Prima controlla che si stia usando IE poi se fosse così applica lo script
$(document).ready(function() {
    if($.browser.msie) {
        $('[placeholder]').focus(function() {
            var element = $(this);
            if (element.val() == element.attr('placeholder')) {
                element.val('');
                element.removeClass('placeholder');
            }
            }).blur(function() {
                var element = $(this);
                if (element.val() == '' || element.val() == element.attr('placeholder')) {
                    element.addClass('placeholder');
                    element.val(element.attr('placeholder'));
                }
            }).blur();
        $('[placeholder]').parents('form').submit(function() {
            $(this).find('[placeholder]').each(function() {
                var element = $(this);
                if (element.val() == element.attr('placeholder')) {
                element.val('');
                }
            })
        })
    }
});
//-->
</script>
<script type="text/javascript">
<!--
//Controllo forza password
	$(document).ready(function(){
		var width = $('#result').width();
		var actRate = 0;
		$('#bar').css({'height':'100%','width':0,'background-color':'red'});
		var lowerCase = /[a-z]+/;
		var upperCase =  /[A-Z]+/;
		var numbers = /[0-9]+/;
		var specialChars = /[\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\072\073\074\075\076\077\100\133\135\137\173\174\175]+/;
		var specialCharsBonus = /[\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\072\073\074\075\076\077\100\133\135\137\173\174\175]{4,}/;
		$('#password').keyup(function(){
			var pwd = $('#password').val()
			var rate = 0;
			if(pwd.length >= 6)
			{
				if(lowerCase.test(pwd))
				{
					rate += 10;
				}
				if(upperCase.test(pwd))
				{
					rate += 10;
				}
				if(numbers.test(pwd))
				{
					rate += 10;
				}
				if(specialChars.test(pwd))
				{
					rate += 20;
				}
				if(specialCharsBonus.test(pwd))
				{
					rate += 30;
				}
				if(pwd.length > 12)
				{
					rate += 20;
				}

			}
				var barWidth = rate * (width / 100);
				$('#bar').animate({
					width: barWidth
				},500, function(){

					if(rate < 25)
					{
						$('#bar').css('background-color', 'red');
					}
					if(rate >= 25 && rate < 50)
					{
						$('#bar').css('background-color', '#FF7F2A');
					}
					if(rate >= 50 && rate < 75)
					{
						$('#bar').css('background-color', '#AAFF55');
					}
					if(rate >= 75)
					{
						$('#bar').css('background-color', 'green');
					}
				});
		});
	});
//-->
</script>
<style type="text/css">
#result
{
	border: 1px solid black;
	background-color:#CCC;
	padding: 2px;
	width: 200px;
	height: 10px;
}
.radius {
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	}
</style>
</head>

<body>
	<div id="contenitore">
<?php
       include 'header3.php';
?>
        <div id="contenuto_reg" class="clearfix">
<?php
if(isset($_POST['invia'])){
	if($_SERVER['REQUEST_METHOD'] == 'POST'){
		//Filtro dati con MYSQLI
		$nome 	= 		$mysqli->real_escape_string(trim($_POST['nome']));
		$cognome = 		$mysqli->real_escape_string(trim($_POST['cognome']));
		$eta 	= 		$mysqli->real_escape_string(trim($_POST['nascita']));
		$email 	= 		$mysqli->real_escape_string(trim($_POST['email']));
		$interessi 	= 	$mysqli->real_escape_string(trim($_POST['interessi']));
		$username 	= 	$mysqli->real_escape_string(trim($_POST['username']));
		$password 	= 	$mysqli->real_escape_string(trim($_POST['password']));
		$password2 	= 	$mysqli->real_escape_string(trim($_POST['password2']));
		$codiceconferma = md5(uniqid(rand()));


		/**
		 * checkdnsrr for Windows (from php.net)
		 *
		 * @param string $host a hostname
		 * @param string $type dns type check
		 * @return boolean
		 */
		function win_checkdnsrr($host, $type='MX') {
			if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') {
				return false;
			}
			if (empty($host)) {
				return false;
			}
			$types = array('A', 'MX', 'NS', 'SOA', 'PTR', 'CNAME', 'AAAA', 'A6', 'SRV', 'NAPTR', 'TXT', 'ANY');
			if (!in_array($type, $types)) {
				user_error("checkdnsrr() Type '$type' not supported", E_USER_WARNING);
				return false;
			}
			@exec('nslookup -type=' . $type . ' ' . escapeshellcmd($host), $output);
			foreach ($output as $line) {
				if (preg_match('/^' . $host . '/', $line)) {
					return true;
				}
			}
			return false;
		}

		// Definisco la funzione
		if (!function_exists('checkdnsrr')) {

			function checkdnsrr($host, $type='MX') {
				return win_checkdnsrr($host, $type);
			}

		}

		/**
		 * Email_Validator 1.0
		 *
		 * <code>
		 * $email  = '[email protected]';
		 * if(Email_Validador::validate($email))
		 *     echo "Valid email address.";
		 * else echo "Invalid email address.";
		 * </code>
		 *
		 * @author David Tavarez <[email protected]>
		 * @version 1.0
		 */
		final class Email_Validador {

			/**
			 * Lista dei domini in black list.
			 *
			 * @var array
			 * @access private
			 *
			static private $_blacklist_domains = array("bl.spamcop.net", "list.dsbl.org", "sbl.spamhaus.org");

			/**
			 * Verify if a domain is on black list.
			 *
			 * @param string $domain domain name.
			 * @access public
			 * @return boolean
			 */
			public static function check_domain_is_blacklisted($domain) {
				if (preg_match("/^[a-z0-9][a-z0-9\-]+[a-z0-9](\.[a-z]{2,4})+$/i", $domain)) {
					$ip = gethostbyname($domain);
					$reverse_ip = implode(".", array_reverse(explode(".", $ip)));
					foreach (self::$_blacklist_domains as $dnsbl_list) {
						if (checkdnsrr($reverse_ip . "." . $dnsbl_list . ".", "A"))
							return $reverse_ip . "." . $dnsbl_list;
					}
				}
				return false;
			}

			/**
			 * Verifico che l'email sia nel formato corretto
			 *
			 * @param string $email an email adress.
			 * @access public
			 * @return boolean
			 */
			public static function check_string($email) {
				return preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])' . '(([a-z0-9-])*([a-z0-9]))+' . '(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i', $email);
			}

			/**
			 * Completo la validazione dell'indirizzo email
			 *
			 * @param string $email a email adress.
			 * @access public
			 * @return boolean
			 */
			public static function validate($email) {
				if (self::check_string($email)) {
					$ar = explode("@", $email);
					$domain = $ar[1];
					unset($ar);
					if (self::check_domain_is_blacklisted($domain)) {
						if (self::validate_domain($domain))
							return true;
					}
				}
				return false;
			}

			/**
			 * Verifico che sia valido il dominio
			 *
			 * @param string $domain a domain name.
			 * @access public
			 * @return boolean
			 */
			public static function validate_domain($domain) {
				if (preg_match("/^[a-z0-9][a-z0-9\-]+[a-z0-9](\.[a-z]{2,4})+$/i", $domain)) {
					if ($this->_domain_is_blacklisted($domain) === false) {
						if (checkdnsrr($domain, 'MX'))
							return true;
						if (checkdnsrr($domain, 'A'))
							return true;
					}
				}
			}

		}

		//Funzione di controllo dell'inserimento dati corretti.
		function ver_testo($testo,$min,$max){
			//	$pattern="/^(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,15}){".$min.",".$max."}$/"; //Controllo lunghezza username tra 6 e 15 caratteri compresi i jolly
			$pattern="/^[a-zA-Z0-9]{".$min.",".$max."}$/";//non prende direttamente il min e il max
			if(preg_match($pattern, $testo)){
				//testo ok
				return TRUE;
			}else{
				return FALSE;
			}
		} //Chiudo funzione verifica lunghezza dati inseriti

		//preparo un messaggio a vuoto per gli errori
		$ok_ko="";
		$visibilità = "hidden";

		if(!ver_testo($username,6,15)){$ok_ko.="Username non corretto, deve essere compreso tra 6 e 15 caratteri compresi i caratteri jolly <br />";
			echo "<meta http-equiv='Refresh' content='200; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
		if(!ver_testo($password,6,12)){$ok_ko.="La password deve essere composta da 6 a 12 caratteri <br />";
			echo "<meta http-equiv='Refresh' content='200; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
		if(!ver_testo($password2,6,12)){$ok_ko.="La password di conferma non coincide con la prima <br />";}
		if($password != $password2){$ok_ko.="Le password non coincidono <br />";}
		if(!filter_var($email, FILTER_VALIDATE_EMAIL)){$ok_ko.="L'indirizzo email non è valido <br />";}

		function controllodata($eta){
			//"/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/"
			if (!preg_match("/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/", $eta)) {
				return false;
			} else {
				$arrayData = explode("/",$eta );
				$Giorno = $arrayData[0];
				$Mese = $arrayData[1];
				$Anno = $arrayData[2];
				if(!checkdate($Mese,$Giorno,$Anno)){
					return FALSE;
				} else {
					return TRUE;
				}
			}
		}

		if(!controllodata($eta)){$ok_ko.="La data non è stata inserita in modo corretto <br />";}
		//if(preg_match("/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/", $eta)){$ok_ko.="Devi inserire la tua eta <br />";};
		if ($ok_ko != "") {
			$visibilità = "visibile";
			echo"<div style=\"visibility:$visibilità;\" class=\"ok_ko\"></div>";
			$ok_ko ="";
			echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
		}
		if($ok_ko == ""){
			//se è rimasto vuoto non ci sono errori
				//Controllo se già presente un username o email nel DB
				 	$verificauser = $mysqli->query("SELECT * FROM utenti WHERE username='$username' OR email='$email'");
					if ($userusato = ($verificauser->num_rows == 1)){
				   //avvisi e torni al form pulito
					echo '<div id="errore">ATTENZIONE: Username o Email già esistenti, scegline un altro. <br /></div>';
					echo "<meta http-equiv='Refresh' content='5; URL=TEST%20FORM%20REAL%20TIME.php'>";
				   	//echo "ATTENZIONE: Username o Email già esistenti, scegline un altro. <br />";
				   	//echo "<meta http-equiv='Refresh' content='300; URL=TEST%20FORM%20REAL%20TIME.PHP'>";
				   } else {

				//Invio i dati dell'utente al db
				$inviautentitemp = $mysqli->query("INSERT INTO utenti_temp (codiceconferma, nome, cognome, eta, interessi, username, password, email) VALUES ('$codiceconferma', '$nome', '$cognome', '$eta', '$interessi', '$username', '$password', '$email')")or die ($mysqli->error);

				if ($inviautentitemp) {
					var_dump($inviautentitemp);
					//se tutto è OK da qua preparo l'invio della mail di conferma per l'avvenuta registrazione.
					include_once("class.phpmailer.php");
					
					$mail = new PHPMailer();
					$mail->IsSMTP();                    // attiva l'invio tramiteSMTP
					$mail->isHTML(true);
					$mail->SMTPDebug= 4;
					$mail->Host     	= "smtps.aruba.it";		// ok mail SMTP aruba con SSL
					$mail->Port     	= 465;					//Porta SSL con autenticazione
					$mail->SMTPAuth 	= true;
					$mail->SMTPSecure	= "ssl";
					$mail->Username		= "[email protected]"; //username della casella di posta creata ad hoc
					$mail->Password		 = "pass";						//Password dellac asella di posta

					// Impostazioni invio mail al cliente
					$mail->Setfrom ("[email protected]","Biblionet");   //Inserire la mail dell'amministratore ed il nome del sito
					$mail->AddReplyTo("[email protected]","Amministratore");
					$mail->AddAddress ($email); //Mail di chi si è iscritto che riceverà la richiesta di conferma
					$mail->AltBody = "Il tuo client di posta non è settato per la ricezione in HTML";
					$mail->Subject = "Conferma di registrazione al sito www.biblionetsanmaurizio.com";
					$testo="<p>Ecco il tuo codice di attivazione</p><br />";
					$testo.="<p>Clicca sul link per confermare la registrazione</p><br />";
					$testo.="<a href=\"http://siti/Biblionet%20Nuova%20Live%20validation/benvenuto.php?passkey=$codiceconferma\">Clicca qui</a>";
					$mail->Body =$testo;
					if ($mail->Send())
					{
							echo "Mail inviata con successo";
					} else {
						echo "Si e' verificato un errore nell'invio della mail";
						//echo $mail->ErrorInfo;
					}
				}
				   	else {
					//Se non riesco ad inviare la mail do questo errore
					echo "ERRORE di connessione, ti preghiamo di riprovare più; tardi<br />";
					echo "<meta http-equiv='Refresh' content='500; URL=Newindex.php'>";
				}
			}
		} else {
			//Se i campi danno errori do questo avviso
			echo $ok_ko;
			echo "<meta http-equiv='Refresh' content='100; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
		}
	}
} else {
?>
            <div id="content">

            <form id="jform" action='<?php echo $_SERVER['PHP_SELF']; ?>' method="post">
			<!--<form id="jform" action="registrazioneuser2A.php" method="post">-->

	            <fieldset>
                    <legend>Informazioni Personali</legend>
                    <p>
                        <label for="nome" class="block">Nome:</label>
                        <input type="text" name="nome" id="nome" placeholder="Il tuo Nome" />
                    </p>
                    <p>
                        <label for="cognome" class="block">Cognome:</label>
                        <input type="text" name="cognome" id="cognome" placeholder="Il tuo Cognome" />
                    </p>
                    <p>
                        <label for="nascita" class="block">Data di nascita <small>(gg/mm/aaaa)</small>:</label>
                        <input type="text" name="nascita" id="nascita" placeholder="Quando sei nato" onKeyUp="addSlashes(this);" value=""/>
                    </p>

                </fieldset>

                <fieldset>
                	<legend>Username</legend>
                	<p>
                		<label for="username" class="block">Username</label>
						<input type="text" name="username" id="username" placeholder="Nickname di fantasia"/>
                	</p>
				</fieldset>

                <fieldset>
                    <legend>Email</legend>
                    <p>
                        <label for="email" class="block">Email <small>([email protected])</small>:</label>
                        <input type="text" name="email" id="email" placeholder="La tua mail"/>
                    </p>
                </fieldset>

                <fieldset>
                    <legend>Interessi</legend>
                    <p>
                        <label for="interessi" class="block"></label>
                        <textarea id="interessi" name="interessi" cols="55" rows="10" placeholder="Scrivici qualcosa su di te." ></textarea>
                    </p>
                </fieldset>
                <fieldset>
                	<p>
                        <label for="password" class="block">Password:</label>
                        <input type="password" name="password" id="password" />
                    </p>
                    <label><small>Quanto è forte la tua password?</small></label>
                    <div id="result" class="radius">
                       <div id="bar" class="radius"></div>
                    </div>
                    <p>
                      <label for="password2" class="block">Conferma Password:</label>
                        <input type="password" name="password2" id="password2" />
                    </p>
				</fieldset>
<!--				<fieldset>
<p>
  <img id="siimage" style="border: 1px solid #000; margin-right: 15px; margin-top: 15px" src="./securimage/securimage_show.php?sid=<?php echo md5(uniqid()) ?>" alt="CAPTCHA Image" align="left">
  <object type="application/x-shockwave-flash" data="securimage/securimage_play.swf?bgcol=#ffffff&amp;icon_file=./images/audio_icon.png&amp;audio_file=./secureimage_play.php"
     height="32" width="32">
    <param name="movie" value="./securimage_play.swf?bgcol=#ffffff&amp;icon_file=./images/audio_icon.png&amp;audio_file=./securimage_play.php" />
    </object>
    &nbsp;
    <a tabindex="-1" style="border-style: none;" href="#" title="Cambia Immagine" onclick="document.getElementById('siimage').src = 'secureimage/securimage_show.php?sid=' + Math.random(); this.blur(); return false"><img src="securimage/images/refresh.png"
 alt="Reload Image" onclick="this.blur()" align="bottom" border="0"></a><br />
    <strong>Inserisci il codice*:</strong><br />
    <input type="text" id="captcha_code" name="captcha_code" size="12" maxlength="8" />
</p>
  				</fieldset>-->
                	<p>
					<button type="submit" id="send" name="invia">Invia</button>
   					<button type="reset" class="send" onclick="self.location.reload(true)">Reset</button>
					</p>
            </form>
            </div><!-- content -->
<?php
}
?>

            <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" charset="utf-8"></script>
            <script type="text/javascript" src="js/validation2.js" charset="utf-8"></script>
        </div><!--contenuto-->

</div><!--contenitore-->
		<div class="vuoto"></div>
      	<div id="footer"><p>Copyright - Tutti i diritti sono riservati - E' vietata la riproduzione anche parziale</p></div>
</body>
</html>

Spero possa essere utile!
 
la seconda riga per me è abbastanza strana, non la capisco
$userusato non lo vedo mai richiamato nello script
PHP:
$verificauser = $mysqli->query("SELECT * FROM utenti WHERE username='$username' OR email='$email'"); 
if ($userusato = ($verificauser->num_rows == 1)){
forse va sostituita con
PHP:
if ($verificauser->num_rows > 0){
(> 0 nel caso ci siano dei doppi per errore nel db .....)


sostituisci
PHP:
include_once("class.phpmailer.php");
con
PHP:
require_once 'phpmailer/class.phpmailer.php';
perchè se non lo trova non vedi l'errore e non fa il lavoro !
modifica adeguatamente secondo il tuo path


mi tornano poco le chiusure dei div, ma posso aver sbagliato io ... controlla anche tu
HTML:
    </div><!-- content --> 
<?php 
} 
?> 
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" charset="utf-8"></script> 
    <script type="text/javascript" src="js/validation2.js" charset="utf-8"></script> 
  </div><!--contenuto--> 
  </div><!--contenitore--> 
  <div class="vuoto"></div>


l'ho provato con i parametri presenti e con destinatario che vedi sotto, inserito nel form,
il risultato è quello atteso essendo le credenziali sbagliate ma lo script viene eseguito

string(16) "[email protected]"
SMTP -> get_lines(): $data is "220 smtpcmd03.ad.aruba.it bizsmtp ESMTP server ready "
SMTP -> FROM SERVER:220 smtpcmd03.ad.aruba.it bizsmtp ESMTP server ready
SMTP -> get_lines(): $data was "250-smtpcmd03.ad.aruba.it hello [IP.IP.IP.IP], pleased to meet you "
SMTP -> ERROR: Password not accepted from server: 535 5.7.0 ...authentication rejected
SMTP -> FROM SERVER:550 5.1.0 PWGl1o00s0aGExN01WGoFw authentication failed
SMTP -> ERROR: MAIL not accepted from server: 550 5.1.0 PWGl1o00s0aGExN01WGoFw authentication failed
The following From address failed: [email protected] : MAIL not accepted from server,550,5.1.0 PWGl1o00s0aGExN01WGoFw authentication failed
SMTP server error: 5.1.0 PWGl1o00s0aGExN01WGoFw authentication failed
Si e' verificato un errore nell'invio della mail
Copyright - Tutti i diritti sono riservati - E' vietata la riproduzione anche parziale

ciao
Marino
 
la seconda riga per me è abbastanza strana, non la capisco
$userusato non lo vedo mai richiamato nello script
PHP:
$verificauser = $mysqli->query("SELECT * FROM utenti WHERE username='$username' OR email='$email'"); 
if ($userusato = ($verificauser->num_rows == 1)){
forse va sostituita con
PHP:
if ($verificauser->num_rows > 0){
(> 0 nel caso ci siano dei doppi per errore nel db .....)

Purtroppo il form ha qualche mese e non ricordo esattamente il motivo per cui ho scritto quelle righe, ma a memoria penso siano legate all'utilizzo di mysqli, quindi ad una scrittura del codice orientata a gli oggetti. in realtà anche cambiando questa riga il risultato non cambia, non ho purtroppo nessun alert, avviso, o log che mi faccia capire dove sbaglio.

sostituisci
PHP:
include_once("class.phpmailer.php");
con
PHP:
require_once 'phpmailer/class.phpmailer.php';
perchè se non lo trova non vedi l'errore e non fa il lavoro !
modifica adeguatamente secondo il tuo path

path modificato correttamente
mi tornano poco le chiusure dei div, ma posso aver sbagliato io ... controlla anche tu
HTML:
    </div><!-- content --> 
<?php 
} 
?> 
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" charset="utf-8"></script> 
    <script type="text/javascript" src="js/validation2.js" charset="utf-8"></script> 
  </div><!--contenuto--> 
  </div><!--contenitore--> 
  <div class="vuoto"></div>


l'ho provato con i parametri presenti e con destinatario che vedi sotto, inserito nel form,
il risultato è quello atteso essendo le credenziali sbagliate ma lo script viene eseguito

ciao
Marino

I div son corretti, probabilmente ho saltato un pezzo di codice, qua quello completo:
PHP:
	?> <div id="content">

<form id="jform" action='<?php echo $_SERVER['PHP_SELF']; ?>' method="post">
<!--<form id="jform" action="registrazioneuser2A.php" method="post">-->

<fieldset>
                    <legend>Informazioni Personali</legend>
                    <p>
                        <label for="nome" class="block">Nome:</label>
                        <input type="text" name="nome" id="nome" placeholder="Il tuo Nome" />
                    </p>
                    <p>
                        <label for="cognome" class="block">Cognome:</label>
                        <input type="text" name="cognome" id="cognome" placeholder="Il tuo Cognome" />
                    </p>
                    <p>
                        <label for="nascita" class="block">Data di nascita <small>(gg/mm/aaaa)</small>:</label>
                        <input type="text" name="nascita" id="nascita" placeholder="Quando sei nato" onKeyUp="addSlashes(this);" value=""/>
                    </p>

                </fieldset>

                <fieldset>
                	<legend>Username</legend>
                	<p>
                		<label for="username" class="block">Username</label>
						<input type="text" name="username" id="username" placeholder="Nickname di fantasia"/>
                	</p>
				</fieldset>

                <fieldset>
                    <legend>Email</legend>
                    <p>
                        <label for="email" class="block">Email <small>([email protected])</small>:</label>
                        <input type="text" name="email" id="email" placeholder="La tua mail"/>
                    </p>
                </fieldset>

                <fieldset>
                    <legend>Interessi</legend>
                    <p>
                        <label for="interessi" class="block"></label>
                        <textarea id="interessi" name="interessi" cols="55" rows="10" placeholder="Scrivici qualcosa su di te." ></textarea>
                    </p>
                </fieldset>
                <fieldset>
                	<p>
                        <label for="password" class="block">Password:</label>
                        <input type="password" name="password" id="password" />
                    </p>
                    <label><small>Quanto è forte la tua password?</small></label>
                    <div id="result" class="radius">
                       <div id="bar" class="radius"></div>
                    </div>
                    <p>
                      <label for="password2" class="block">Conferma Password:</label>
                        <input type="password" name="password2" id="password2" />
                    </p>
				</fieldset>
<!--				<fieldset>
<p>
  <img id="siimage" style="border: 1px solid #000; margin-right: 15px; margin-top: 15px" src="./securimage/securimage_show.php?sid=<?php echo md5(uniqid()) ?>" alt="CAPTCHA Image" align="left">
  <object type="application/x-shockwave-flash" data="securimage/securimage_play.swf?bgcol=#ffffff&amp;icon_file=./images/audio_icon.png&amp;audio_file=./secureimage_play.php"
     height="32" width="32">
    <param name="movie" value="./securimage_play.swf?bgcol=#ffffff&amp;icon_file=./images/audio_icon.png&amp;audio_file=./securimage_play.php" />
    </object>
    &nbsp;
    <a tabindex="-1" style="border-style: none;" href="#" title="Cambia Immagine" onclick="document.getElementById('siimage').src = 'secureimage/securimage_show.php?sid=' + Math.random(); this.blur(); return false"><img src="securimage/images/refresh.png"
 alt="Reload Image" onclick="this.blur()" align="bottom" border="0"></a><br />
    <strong>Inserisci il codice*:</strong><br />
    <input type="text" id="captcha_code" name="captcha_code" size="12" maxlength="8" />
</p>
  				</fieldset>-->
                	<p>
					<button type="submit" id="send" name="invia">Invia</button>
   					<button type="reset" class="send" onclick="self.location.reload(true)">Reset</button>
					</p>
            </form>
            </div><!-- content -->
	<?php
}
?>

            <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" charset="utf-8"></script>
            <script type="text/javascript" src="js/validation2.js" charset="utf-8"></script>
        </div><!--contenuto-->

</div><!--contenitore-->
		<div class="vuoto"></div>
      	<div id="footer"><p>Copyright - Tutti i diritti sono riservati - E' vietata la riproduzione anche parziale</p></div>
</body>
</html>
 
ciao,

in realtà l'invio della mail era il problema meno pesante dello script,
per esempio jquery posizionato in fondo, non permetteva l'esecuzione dei javascript
ma poi un po' di cose .... ben "shakerate" nel baillame di un codice molto "spaghetti" e molto "western"

ho diviso i componenti dello script, nello zip trovi 4 files,
".php" è lo script principale
"_f.php" contiene tutte le function php
".js" contiene il codice javascript
".css" inutile dire ...

tutte le parti sono richiamate nella giusta posizione, se decidi di usare la mia versione,
puoi mettere tutti i files nello stesso folder o directory, per l'esecuzione
se decidi altrimenti, usa i miei files come riferimento per mettere a posto lo script originale

non ho provato mysql, non avendolo a disposizione, ma mi sembrano funzioni elementari che non dovrebbero avere problemi

inutile dire che tutto il resto funziona, chiedi a claudio che, deve aver ricevuto una mail nella posta di libero

devo dire che ho dedicato tempo, perchè mi ha interessato la valutazione della solidità della password, altrimenti ....

ciao
Marino
 

Allegati

Discussioni simili