phpmailer??

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ho un piccolo problemino, ma non so se dipenda da phpmailler.
mi sono fatto un piccolo script per l'invio di news letters.
se l'invio è OK mi da una serie di *********... eventualmente con intramezzati degli E (per errore).
sin'ora, giornalmente, ho fatto circa 7-8 invii al giorno per in totale circa di 3500 invii.
tutto questo sino a ieri.
da ieri non sono più riuscito ad inviare tutta una serie di EEEE...
a cosa può essere dovuto?
posto la parte di codice icriminato (anche se penso che non dipenda da quello).


PHP:
<?php
set_time_limit(240);//esagero per essere tranquillo
//valido i vari input dal form...
//istanzio phpmailler....
//dat per smtp....
//interrogo...
$data=time()+(60*24*60*60);//due mesi fa
$query=mysql_query("SELECT * FROM nl_borgo WHERE cat='$cat' AND (invio=0 OR invio > $data) LIMIT 50");
$ei="";//messaggio per invio OK o ERRORE TRASM
		if(mysql_num_rows($result) > 0){
		while($riga=mysql_fetch_array($result)){
			$Emailmessaggio->AddAddress($riga['email']);
			if($Emailmessaggio->Send()){ //se messaggio inviato
  				//annullo l'inviato
				$Emailmessaggio->ClearAddresses();
				$Emailmessaggio->ClearAllRecipients();
				//uppo l'indirizzo inviato
				$data_invio=time();//momento dell'invio
				if($cat != "P"){//non sono PROVE
					$query_up="UPDATE nl_borgo SET invio=$data_invio WHERE email='".$riga['email']."'";
					$result_up=mysql_query($query_up);
				}
				$ei.= "*";
			}else{//errore trasmissione
				$ei.= "E";
				$Emailmessaggio->ClearAddresses();
				$Emailmessaggio->ClearAllRecipients();
				//uppo l'indirizzo in modo che non sua riinviabile
			}//fine invio
			usleep(50);
		}//fine del while
		}else{
			$ei.="non ci sono email da inviare";
		}
	}//fine ok-ko giusto
	if($ei !=""){echo $ei."<br>";}
}//fine del submit invio
?>

p.s.
il codice non è stato modificato

dimenticavo: invio da locale tramite smtp
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Prova a mettere tutto all'interno di un blocco try catch come in questo esempio e vedi se ti restituisce qualche errore.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ho provato il codice con try/catch è ho ottenuto che non da errore, ma non invia le news, ho fatto la prova con gli indirizzi di prova tra cui il mio.
questo è il codice (tralascio il form di scelta)

PHP:
<?php
set_time_limit(240);
include_once "../../_connessione/connessione.php";
if(isset($_POST['invia'])){
	$ok_ko="";
	if($_POST['cat']==""){$ok_ko.="<br>non selezionata categoria";}else{$cat=$_POST['cat'];}
	if(trim($_POST['quale_news'])==""){$ok_ko.="<br>non selezionato tipo news";}
	if($ok_ko==""){
		//var_dump($_POST['numero']);echo "<br>";
		$presenti=$_POST['numero'];
		//var_dump($presenti);echo "<br>";
		if($presenti[$cat]=="0"){$ok_ko.="<br>nella categoria $cat non ci sono indirizzi inviabili";}
	}
	if($ok_ko==""){
		$news=trim($_POST['quale_news']);
		$ok_ko.="<br>invio news $news a categoria $cat";
		if($cat=="P"){
			$oggetto="invio di prova ".date("d.m.Y H:i:s");
		}else{
			$oggetto="Borgo Italia info ".date("M Y");
		}
		include_once($news);
		/*esempio: $news == news_02-2001.php
		e dentro il file php c'è la variabile $testo
		$testo=<<<EOD tutto il testo in HTML EOD;
		*/
		$data=time()+(60*24*60*60);//due mesi fa
		$query="SELECT * FROM nl_borgo WHERE cat='$cat' AND (invio=0 OR invio > $data) LIMIT 50";
		//richiamo la classe e l'istanzio
		require_once "phpmailler/class.phpmailer.php";
		$Emailmessaggio = new PHPmailer(true);
		try {
			$Emailmessaggio->SetLanguage('it','language/');
			//dati per SMTP ********************************************
			$Emailmessaggio->IsSMTP();  // send via SMTP
			$Emailmessaggio->Host     = "smtp.xxxxx.it"; // SMTP servers
			$Emailmessaggio->SMTPAuth = true; // turn on SMTP authentication
			$Emailmessaggio->Username = "xxxx.xxxxx";  // SMTP username
			$Emailmessaggio->Password = "yyyyyyyy"; // SMTP password
			//per inviare da locale *** FINE*****
			$Emailmessaggio->IsHTML(true); // invio l'email in formato HTML
			$Emailmessaggio->FromName= "borgo-italia";
			$Emailmessaggio->From="[email protected]";
			$Emailmessaggio->Subject=$oggetto;
			$Emailmessaggio->Body=$testo;
			$Emailmessaggio->Priority=1;
			$Emailmessaggio->AddReplyTo("[email protected]");
			//-------inizio a ciclare 50 indirizzi al massimo con time +di due mesi
			$result=mysql_query($query);
			$ei="";
			while($riga=mysql_fetch_array($result)){
				//var_dump($riga['email']);echo "<br>";
				//metto l'indirizzo in php mailler
				$Emailmessaggio->AddAddress($riga['email']);
				$Emailmessaggio->Send(); //messaggio inviato
  				//annullo l'inviato
				$Emailmessaggio->ClearAddresses();
				$Emailmessaggio->ClearAllRecipients();
				//uppo l'indirizzo inviato
				$data_invio=time();//momento dell'invio
				if($cat != "P"){
					$query_up="UPDATE nl_borgo SET invio=$data_invio WHERE email='".$riga['email']."'";
					$result_up=mysql_query($query_up);
				}
				$ei.= "*";
			}//fine del while
		} catch (phpmailerException $e) {
  			echo $e->errorMessage(); //Pretty error messages from PHPMailer
		} catch (Exception $e) {
 			 echo $e->getMessage(); //Boring error messages from anything else!
		}
	}//fine ok-ko giusto
	if($ei !=""){echo $ei."<br>";}
	echo "$ok_ko<br><br>";
	//echo "<meta http-equiv='Refresh' content='5; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
?>

quello che non capisco è perche per un certo periodo ha funzionato tutto, poi ad un tratto (SENSA MODIFICARE NULLA) ha smesso:confused:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
mi è venuto un dubbio:
è possibile che il server SMTP (che ho indicato con "smtp.xxxxx.it"; // SMTP servers) blocchi l'invio dallo script?

p.s.
quando invio con outlook sempre dallo stesso server le email vengono inviate
p.s. al p.s.
mi era venuto il dubbio che il db si fosse corrotto, ma dopo varie verifiche il db è ok
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Se provi a fare un semplice invio (una singola mail) tramite phpmailer utilizzando lo stesso SMTP ti succede lo stesso?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
nisbaho provato a togliere il while e mettere
$Emailmessaggio->AddAddress("[email protected]");
in settimana prossima provo a caricare in remoto, togliere l'smtp perchè su aruba non l'accetta e riprovo. se partono è perobabile che sia colpa del server (o no?)
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Hosting e phpmailer PHP 0
E PHPMailer PHP 4
D PHPMailer con account gmail PHP 14
I PHPMailer non funziona PHP 13
I Guida/Tutorial configurare PHPMailer per inviare mails tramite contact form? PHP 2
A PHPMAILER e UMLAUTS (lettere tedesche äüäöß) PHP 2
G PHPMailer: SMTP error Gmail PHP 8
M Come usare la nuova versione di phpmailer? PHP 2
P [PHPmailer] SMTP Aruba.. problemi PHP 8
G Invio Mail con PHPMailer, problemi SMTP PHP 7
V PHPMailer PHP 11
V PHPmailer allegato PHP 0
P problemi invio email con phpmailer PHP 47
P phpmailer PHP 0
localhost.nicola File log erroe con phpmailer PHP 3
A problema phpmailer PHP 32
L invio smtp con phpmailer - problema invia due volte la email allo stesso utente PHP 0
O PhpMailer, Composer e Netbeans PHP 1
M Come inviare due mail diverse con phpmailer PHP 6
Z email phpmailer non arrivano PHP 0
B Invio email multiple PHPMAILER PHP 5
L Problema phpmailer,jquery e smtp PHP 1
P Problemi visualizzazione html con phpmailer PHP 6
P phpmailer e file_get_contents PHP 1
P Phpmailer ed wind-infostrada PHP 20
felino PHPMailer: Indirizzo IP e Immagine PHP 6
lsnight Phpmailer per principianti PHP 7
K form con phpmailer PHP 18
P Invio multiplo mail con phpmailer PHP 5
L problema classe phpmailer con la mia classe clsMail PHP 2
G problema con phpmailer 5.2.1 PHP 1
minatore Phpmailer PHP 6
M phpmailer multiplo in più pagine di un sito PHP 5
N PhpMailer SELECT e OPTION PHP 190
N PhpMailer e salvataggio allegato sul server PHP 11
R Phpmailer SMTP PHP 23
A problema con phpmailer PHP 10
metalgemini PHPmailer non arriva allegato PHP 10
piccino PHPMailer: inserire allegato PHP 5
E Invio email (era: phpmailer) PHP 52
F Phpmailer e l'indirizzo del mittente PHP 3
F PhpMailer PHP 5
C phpmailer PHP 7
emanuelevt phpmailer e altervista PHP 3
catellostefano Problema con la classe class.phpmailer.php PHP 5
SolidSnake4 PHPmailer errore PHP 4
A classe PHPMailer e mail di Libero PHP 1
S php mail vs phpmailer PHP 0
T Problemi phpmailer x invio ad indirizzi di libero. Aiutatemi! PHP 14
R PhpMailer inserire Allegato PHP 1

Discussioni simili