Problema con la funzione mail

peeks

Nuovo Utente
11 Gen 2011
6
0
0
Ciao a tutti
sono nuovo del mondo php, ho cominciato da qualche mese.
Sto strutturando una newsletter con la funzione mail, ma mi restituisce un errore!
ho fatto un pò di debug per vedere quale invia e quali no, praticamente non invia tutte le email che hanno un punto in mezzo! es. [email protected] non la invia [email protected] si!
dato che non mi era mai successa una cosa simile, come la risolvo?
grazie anticipatamente!
 

peeks

Nuovo Utente
11 Gen 2011
6
0
0
Questa è la porzione di codice


PHP:
$query_mail = "SELECT email FROM newsletter";
                $result_mail = mysql_query($query_mail);

		$oggetto = "NewsLetter";
		$header = "From: Ciccio\n";
		$header .= "MIME-Version: 1.0\n";
		$header .= "Content-Type: text/html; charset=\"UTF-8\"\n";
		$header .= "<style>body {background-color:#FFFFFF;}</style>";
		$header .= "<div style='background-color:#FFFFFF;'>";
		$header .= "<table style='width:80%;text-align:justify;'><tr><td>";
		$header .= "<img align='center' src='immagine.jpg' alt='immagine' /></td><td class='testo'>NewsLetter del ".date("d-m-Y")."</td><tr><td colspan='2'>";

		if ($_SESSION['testo']!=''){ $msgformat = $_SESSION['testo']; } else { $msgformat = $riga['testo'];}
		$msgformat .= "</td></tr>";
                $msgformat .= "</table></div>";

                while ($row = mysql_fetch_array($result_mail,MYSQL_ASSOC)){
                    $mail = $row['email'];     
		    if(mail($mail, $oggetto, $msgformat, $header)){
			echo "<img class='errore3_news' src='../images/messaggi/Conf_news.jpg' />";
                        echo $mail." mail inviata "; //questo per vedere quali invia
		    }
                    else{
			echo "<img class='errore3_news' src='../images/messaggi/errore.jpg' />";
                        echo $mail." mail non inviata"; //questo per vedere quali email non invia
                    }

		}
 

peeks

Nuovo Utente
11 Gen 2011
6
0
0
ho fatto diverse prove, ho provato ad invertire gli indirizzi, il discorso del punto era una casualità, spedisce l'e-mail solo ai primi tre indirizzi poi fallisce tutti gli altri...intanto gli indirizzi li legge bene da db...può essere che c'è qualcosa che non va nello script?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
puo essere dovuto al server che si "intasa".
prova a mettere dentro il ciclo while
PHP:
<?php
//....
usleep(50);
}
//...
?>
oppure, se gli indirizzi sono molti e l'invio lento, può essere che il tempo di vita dello script sia poco e che quindi si interrompa
prova a mettere all'inizio

PHP:
<?php
set_time_limit(240);
//....
?>

altro accorgimento: metti un limite di invio (es 100 email), interrompi e riparti, dopo un po', con le successive 100.
questi tre accorgimenti (a parte che uso la classe phpmailler e non la funzione mail) mi hanno risolto i problemi.

p.s.
se usi la phpmaiiler puoi meglio lavorare in locale e, quindi, accelerare il tutto
 

peeks

Nuovo Utente
11 Gen 2011
6
0
0
Si attualmente come prova è su altervista in attesa che aruba mi attivi il dominio...credo anche io che il problema sia questo!
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
23
Roma
alessandro1997.netsons.org
Altervista consente l'invio di due e-mail ogni tre secondi, se mi ricordo bene. Questo significa che ogni due e-mail dovrai mettere lo script in attesa per tre secondi. Se hai molte e-mail potrebbe essere un problema.

Una soluzione è inserire gli indirizzi in Bcc, ma questo comporta alcuni problemi:
  • Chiunque potrà leggere gli altri indirizzi registrati alla newsletter.
  • La funzione mail di PHP richiede necessariamente il parametro $to, quindi dovrai connetterti direttamente al server SMTP.
Un'altra soluzione sarebbe cambiare hosting!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
oppure come detto porti usleep in modo che passi 1 o 1,5 sec tra un invio e l'altro (cosi invii tra email nel tempo previsto) e aumenti il tempo di vita dello script
 

peeks

Nuovo Utente
11 Gen 2011
6
0
0
premesso che su altervista è solo per prova, ho risolto mettendo la funzione usleep :mavieni:
grazie! :D
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Problema con connessione MySqli e funzione PHP 2
A [PHP] Problema invio mail con funzione mail() PHP 3
F [Javascript] Problema funzione jquery con elementi css esterni Javascript 1
S Problema con funzione "imagecreatefrompng" PHP 10
R Problema funzione caricate con il body Javascript 1
G Problema con la funzione array_combine PHP 2
L problema con la funzione header!!! AIUTO! PHP 24
M problema con elementi della funzione Javascript 3
L problema nella implementare una funzione con ritorno PHP 2
F Problema con funzione cambia password PHP 5
S Problema return con funzione PHP 2
L problema email con funzione mail PHP 1
B Problema con funzione JS Javascript 4
S problema con funzione php PHP 3
D Problema apostrofo con funzione unlink PHP 7
C Problema nel Caricare file e spostarlo con la funzione move_uploaded_file PHP 14
D Problema con funzione preg_match() per controllo email PHP 2
Neptune7650 Piccolo problema con la funzione include PHP 1
asevenx problema con funzione per far apparire e scomparire un form di commenti PHP 1
asevenx problema con la funzione AVG() PHP 1
G ajax php myqsl - problema con funzione javascript Ajax 1
F Problema con funzione di RainTpl PHP 3
dk-wamp problema con la funzione sleep PHP 4
jan267 Problema con funzione getElementsByClassName Javascript 2
O Principiante: problema con funzione CURL ###URGENTE### PHP 1
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 4
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0

Discussioni simili