Visualizzazione risultati 1 fino 15 di 15

Discussione: Auguri di compleanno: recupero da mysql

  1. #1
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito Auguri di compleanno: recupero da mysql

    Ciao ragazzi, premesso che utilizzerò un cronojob, ho sviluppato questo codice, ma non mi arrivano le email. Nel database il campo nascita è un VARCHAR ad esempio 20/01/1992 che è la mia data di nascita.

    Dove erro? Premesso che avevo anche modificato la data col giorno di oggi.

    Codice PHP:
    <?PHP
    // includiamo il file di connessione al database
    include ('sito_reg_mysql_connect.php');
    // seleziono il database
    mysql_select_db("$db_name2")or die("cannot select DB");

    //recupero la data di oggi
    $oggi = date("d/m");

    //apro il database
    $query = "SELECT mail, username FROM registrazione_sito WHERE DATE_FORMAT(STR_TO_DATE(data_nascita,'%d/%m/%Y'),'%d/%m') = $oggi";
    $ris = mysql_query ($query);

    // costruiamo alcune intestazioni generali
    $header = "From: L'isola che non c'e' <informazioni@lisoladiscandiano.it>\n";
    $header .= "X-Mailer: ii\n";

    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";

    $oggetto1 = "Auguri da lisoladiscandiano.it";

    $messaggio1 = "<html><body><style type=\"text/css\">body {background-color: #F2C96D;}</style>
    <div align=\"center\"><table width=\"550\" border=\"0\" bgcolor=\"#FBEDD0\">
    <tr>
    <td><div align=\"center\"><strong><em>L'ISOLA </em></strong><br>
    <br>
    <br>
    <br>
    Orario: dalle 9:00 alle 13:00 e dalle 16:00 alle 19:30, gioved&igrave; chiuso.</div><hr size=\"1\">

    Oggetto: Auguri di Buon Compleanno<br><br>

    <div align=\"justify\">Oggi &egrave; un giorno speciale... &Egrave; il tuo compleanno!!!<br>L'isola che non c'&egrave; &egrave; lieta ti farti i suoi migliori auguri.</div><br><br>
    $firma</td>
    </tr>
    </table></div><div align=\"center\">Ricevi questa e-Mail perch&egrave; sei iscritto a lisoladiscandiano.it</body></html>"
    ;

    // inviamo il messaggio di posta elettronica
    // controllando eventuali errori
    if( @mail($mail, $oggetto1, $messaggio1, $header) ) echo "e-mail inviata con successo!";
    else echo
    "errore nell'invio dell'e-mail!";

    ?>
    Ultima modifica di adminreluca : 19-02-2012 alle ore 23.47.18

  2. #2
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ciao!
    Ti risulta pagina bianca o visualizzi qualche errore?

  3. #3
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito

    Mi da l'echo: e-mail inviata con successo!
    ma non arriva niente.

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    E neanche finisce nello spam?

  5. #5
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito

    no porca miseria!

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Allora togli quell'@ davanti a mail e metti un error_reporting(E_ALL) in cima alla pagina —magari c'è un warning importante da qualche parte.

  7. #7
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito

    C'era la $firma che andava cancellata e l'ho fatto ora mi dice:

    Notice: Undefined variable: mail in /web/htdocs/www.sito.it/home/amministrazione/system_auguri_compleanno/invio_auguri.php on line 44 e-mail inviata con successo!
    la linea 44 è la linea mail()
    Ultima modifica di adminreluca : 20-02-2012 alle ore 14.45.56 Motivo: + tag [quote]

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Interessante che la funzione mail() non ti restituisca false, visto quel problema.

    Cmq, $mail non è definita, mettici qualcosa dentro.

  9. #9
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito

    dreadnaut cosa vuol dire mettici qualcosa dentro?

  10. #10
    Guest

    Predefinito

    asp ma controlla il tuo hosting se legge quell determinato parametro avvolte possono essere problemi dei provider fai lo scrit su altervista e prova se funziona

  11. #11
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito

    Ho sconvolto completamente lo script, sembra funzionare, peccato che mi sia arrivata la mail tra la posta indesiderata, cosa si puo fare?

    Ecco il codice, non si sa mai che possa servire a qualcuno (PS la data nel database è in formato GG/MM/AAAA)

    Codice PHP:
    <?PHP
    error_reporting
    (E_ALL);

    // includiamo il file di connessione al database
    include ('sito_reg_mysql_connect.php');
    // seleziono il database
    mysql_select_db("$db_name2")or die("cannot select DB");

    //recupero la data di oggi
    $oggi = date("d/m");

    // utilizzando LIMIT per partire da $first e contare fino a $x_pag
    $rs = mysql_query("SELECT mail, data_nascita FROM registrazione_sito");
    $nr = mysql_num_rows($rs);
    if (
    $nr != 0){
    for(
    $x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rs);

    $auguri = $row['data_nascita'];
    $auguri = substr($auguri,0,5);

    if (
    $auguri == $oggi ){

    // costruiamo alcune intestazioni generali
    $header = "From: <informazioni@sito.it>\n";
    $header .= "X-Mailer: ii\n";

    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";

    $oggetto1 = "Auguri da sito.it";

    $messaggio1 = "<html><body><style type=\"text/css\">body {background-color: #F2C96D;}</style>
    <div align=\"center\"><table width=\"550\" border=\"0\" bgcolor=\"#FBEDD0\">
    <tr>
    <td><div align=\"center\"><strong><em>L'ISOLA </em></strong><br>
    <br>
    <br>
    <br>
    Orario: dalle 9:00 alle 13:00 e dalle 16:00 alle 19:30, gioved&igrave; chiuso.</div><hr size=\"1\">

    Oggetto: Auguri di Buon Compleanno<br><br>

    <div align=\"justify\">Oggi &egrave; un giorno speciale... &Egrave; il tuo compleanno!!!<br>L'isola che non c'&egrave; &egrave; lieta ti farti i suoi migliori auguri.</div><br><br></td>
    </tr>
    </table></div><div align=\"center\">Ricevi questa e-Mail perch&egrave; sei iscritto a sito.it</body></html>"
    ;

    // inviamo il messaggio di posta elettronica
    // controllando eventuali errori
    if( mail($row['mail'], $oggetto1, $messaggio1, $header) ) echo "e-mail inviata con successo!";
    else echo
    "errore nell'invio dell'e-mail!";

    }}
    }else{
    echo
    "Nessun record trovato!";
    }

    ?>
    Ultima modifica di adminreluca : 20-02-2012 alle ore 14.46.45

  12. #12
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Beh, non c'era bisogno di "sconvolgere" lo script

    Nella prima versione chiamavi
    Codice PHP:
    mail($mail, $oggetto1, $messaggio1, $header)
    ma la variabile $mail non era mai stata definita, da cui l'errore "Undefined variable: mail". Era sufficiente metterci l'indirizzo dentro, e.g.
    Codice PHP:
    $mail = $row['mail'];
    E leggeteli 'sti messaggi di errore

  13. #13
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da adminreluca Visualizza messaggio
    peccato che mi sia arrivata la mail tra la posta indesiderata, cosa si puo fare?
    Non credo che si possa fare niente.
    Evidentemente il tuo servizio rileva quella e-mail SPAM, ma è possibile che qualche altro servizio non lo rilevi...
    Ciao!

  14. #14
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Spesso c'è un problema di corrispondenza fra server mail e dominio dell'indirizzo. Uno dei controlli che i servizi di posta fanno è quello di verificare se il server da cui hanno ricevuto un'email è autorizzato per un dominio.

    E.g., arriva una lettera da qualcuno@dominio.com, il servizio chiede al DNS "per dominio.com, quali server sono autorizzati?".

    E' ovvio che AlterVista è registrato come autorizzato per tutti gli indirizzi @altervista.org, ma se invii le email come spedite dal tuo dominio, potrebbe non esserlo.


    Invoco l'Alto quindi, chiedendo informazioni sui record SPF per i domini registrati su AV

  15. #15
    adminreluca non è connesso Utente
    Data registrazione
    06-03-2006
    Messaggi
    112

    Predefinito

    ho capito. va bene, grazie ragazzi!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •