Problema Invio Mail! (non vorrei essere ripetitivo)
Ciao a tutti.
Come già qualche altro utente,ho riscontrato un problema con un form di invio mail php che risiede sul mio sito.
In pratica da questo form,pare che l'invio della mail parta senza alcun problema ma poi a nessun utente, che fa parte del gruppo di chi deve riceverle arriva..Anzi,solo a me sono arrivate le varie mail partite da quel form,ma al resto degli utenti no.
Il link al form è http://nzallanutos2008.altervista.org/invform.php che al momento è disabilitato essendoci un controllo orario che ne permette il blocco e lo sblocco.
Il codice associato all'invio delle mail è questo:
Codice:
<?php
//-----------------------------------------------------------------------------
// sendmail.php
//
// Copyright (C) 2005 Marcello 'John Doe' Puri
//
// Versione 0.9.0 (15/09/2005)
// Versione 0.9.5 (28/09/2005)
// * aggiunto il modulo di salvataggio automatico delle formazioni
// Versione 0.9.6 (07/10/2005)
// * modificata la modalità di passaggio parametri al modulo d'invio e
// salvataggio formazione per garantire la compatibilità anche con
// Internet Explorer
// * la pagina HTML generata dal modulo d'invio e salvataggio formazione
// è completa anche in caso di errore
// Versione 1.0.0 (02/12/2005)
// * aggiunto messaggio di debug visualizzato se nessun parametro
// viene specificato
// Versione 1.1.0 (08/09/2006)
// Modifica effettuata da Guido Zerbinati (21/09/2006)
// * Inserito controllo sull'ora di invio delle formazioni
//-----------------------------------------------------------------------------
// saveLineUp() e' liberamente ispirata a SalvaFormazione.php di
// Giuseppe "mR`gImO" (http://www.legadeiforti.info/skindownload.htm)
//----------------------------------------------------------------------------->
$day = date("d",time());
$month = date("m",time());
$year = date("Y",time());
$hour = date("H", time());
$min= date("i", time());
$timeinv= ("$year$month$day$hour$min");
$time= ("$day/$month/$year $hour.$min");
$pluto = $_REQUEST['i1'];
$poppo = $_REQUEST['i2'];
//ATTIVARE CONTROLLI SE SI DESIDERA VEDERE L'ORA INVERTITA
//print("<b>Termine invio formazioni invertito (pluto): $pluto </b><br>");
//print("<b>Ora attuale inverita (timeinv): $timeinv </b><br>");
if ($timeinv<$pluto){
require('class.phpmailer.php');
$fantasquadra = '';
$competizione = '';
$lega = '';
print("<html>\n");
print("<head>\n");
print("<link href=\"../highblue.css\" rel=\"stylesheet\" type=\"text/css\">\n");
print("</head>\n");
print("<body>\n");
if (sizeof($_REQUEST) == 0){
print('<h3>sendmail.php versione 1.0.0</h3><p>Copyright © 2005 Marcello "John Doe" Puri</p>');
} else {
$result = checkPassword();
if ($result != '')
print("<h2 style=\"color: red\">$result</h2>\n");
else {
$result = gatherData();
print("<p><b>Lega: </b>$lega<br>\n");
print("<b>Fantasquadra: </b>$fantasquadra<br>\n");
print("<b>Competizione: </b>$competizione</p>\n");
$result = sendMail();
if ($result != '') {
print("<h2 style=\"color: red\">$result</h2>\n");
} else {
print("<h2>Formazione inviata correttamente</h2>\n");
if ($_REQUEST['saveData']) {
$result = saveLineUp();
if ($result != '')
print("<h2 style=\"color: red\">$result</h2>\n");
else
print("<h2>Formazione salvata correttamente</h2>\n");
}
}
}
}
print("</body>\n");
print("</html>\n");
print("<html>\n");
print("<head>\n");
print("<link href=\"../highblue.css\" rel=\"stylesheet\" type=\"text/css\">\n");
print("</head>\n");
print("<body>\n");
print("<br><center><a href=\"Javascript:onclick=window.close();\">Chiudi finestra</a></center>\n");
print("</body>\n");
print("</html>\n");
} else {
print("</body>\n");
print("</html>\n");
print("<html>\n");
print("<head>\n");
print("<link href=\"../highblue.css\" rel=\"stylesheet\" type=\"text/css\">\n");
print("</head>\n");
print("<body>\n");
print("<br><b>Termine invio formazioni: $poppo </b>");
print("<br><br><b>Data e ora attuali: $time </b>");
print("<br><h3 style=\"color: red\">Impossibile inviare formazione: il termine di invio è scaduto!</h3>");
print("<br><center><a href=\"Javascript:onclick=window.opener.location.reload();window.close();\">Chiudi finestra</a></center>\n");
print("</body>\n");
print("</html>\n");
}
function saveLineUp()
{
$idSquadra = $_REQUEST['idSquadra'];
$giornataDiA = $_REQUEST['giornataDiA'];
$idIncontro = $_REQUEST['idIncontro'];
if (($fp = fopen("../js/fcmFormazioniDati$giornataDiA.js", 'r+')) == false)
return 'Impossibile aprire il file formazioni';
if (!flock($fp, LOCK_EX)) {
return 'Impossibile bloccare il file formazioni';
fclose($fp);
}
$oldStaticLines = array();
$oldLineUpsLines = array();
while (!feof ($fp)) {
$l = fgets($fp, 4096);
if (!preg_match('/^a\[\d+\]=new Z\((\d+),(\d+),([^\)]+)\)/', $l, $regs)) array_push($oldStaticLines, $l);
else if ($regs[1] != $idIncontro || $regs[2] != $idSquadra) array_push($oldLineUpsLines, "$regs[1],$regs[2],$regs[3]");
}
fseek($fp, 0);
$i = 1;
foreach($oldStaticLines as $l) if (trim($l) != '') fputs($fp, $l);
foreach($oldLineUpsLines as $l) {
fputs($fp, "a[$i]=new Z($l)\n");
$i++;
}
$newLineUpsLines = explode('|', $_REQUEST['saveData']);
foreach($newLineUpsLines as $l) {
fputs($fp, "a[$i]=new Z($l)\n");
$i++;
}
ftruncate($fp, ftell($fp));
flock($fp, LOCK_UN);
fclose($fp);
}
function gatherData()
{
global $fantasquadra, $competizione, $lega;
$body = explode("\n", stripslashes($_REQUEST['body']));
list($null, $competizione, $null) = explode(', ', $_REQUEST['subject'], 3);
if (preg_match('/^Lega: (.+)$/', $body[0], $regs)) $lega = $regs[1];
if (preg_match('/^Squadra: (.+)$/', $body[1], $regs)) $fantasquadra = $regs[1];
}
function sendMail()
{
global $fantasquadra, $competizione, $lega;
$mail = new PHPMailer();
$mail->From = $_REQUEST['sender'];
$mail->FromName = '';
$mail->Subject = $_REQUEST['subject'];
$mail->Body = ($_REQUEST['body']);
foreach (split('; ', $_REQUEST['recipient']) as $add) $mail->AddAddress($add);
return $mail->Send() ? '' : 'Errore durante durante l\'invio della e-mail';
}
function checkPassword()
{
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
if (($fp = fopen('../js/fcmInvioFormazioneDati.js', 'rt')) == false)
return 'File password non trovato';
$found = false;
while (!feof ($fp) && !$found) {
$buffer = fgets($fp, 4096);
$found = ereg('^a=passwords;', $buffer);
}
if (!$found)
return 'File password non valido';
$found = false;
$passwords = array();
while (!feof ($fp) && !$found) {
$buffer = fgets($fp, 4096);
if ($buffer == "\n")
$found = true;
else {
$result = ereg('a\[(.+)\]=\"(.+)\"', $buffer, $regs);
if ($result) $passwords[$regs[1]] = $regs[2];
}
}
if (crypt($password, 'jd') != $passwords[$username])
return 'Password non valida';
return '';
}
?>
Ovviamente tutto questo fino a dicembre ha funzionato e visto che in giro,più di un utente altervista ha avuto lo stesso identico problema,allora credo che tutto dipenda dai server Altervista..
Qualcuno potrebbe aiutarmi?
Grazie