Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Problema mail()

  1. #1

    Problema mail()

    ciao a tutti

    ho questo codice:
    Codice PHP:
    $sbj='OPCDS: Conferma la tua registrazione!';
            
    $body='<div style="background-image: url([url]http://opcds.altervista.org/grafica/bg.png[/url]); background-repeat: repeat; color: #333333; font-weight: bold;">[img]http://opcds.altervista.org/grafica/extlink.png[/img]'.$n.', la tua richiesta di iscrizione sar&agrave; accettata solo dopo che confermerai il tuo indirizzo e-mail al seguete link: [url="http://opcds.altervista.org/reg.php?response=mc&m='.$m.'&cc='.$ccode.'"]conferma registrazione[/url].

    <div>Se il tuo programma di posta non supporta i formati HTML copia questo link nella barra degli indirizzi del tuo browser:
    [url]http://opcds.altervista.org/reg.php?response=mc&m=[/url]'
    .$m.'&cc='.$ccode.'</div>



    </div>'
    ;
            
    mail($m$sbj$body"MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\nFrom: validation@opcds"); 
    il problema è che nella parte in cui dico
    Codice PHP:
    [url="http://opcds.altervista.org/reg.php?response=mc&m='.$m.'&cc='.$ccode.'"]conferma registrazione[/url
    nella mail ricevuta dall'utente il link risulta essere
    http://opcds.altervista.org/reg.php?...&cc=abcdefghij

    il problema ovviamente è il ?resp_onse=
    da dove esce quel trattino!? non è stato un errore di una volta: lo fa sempre! qualcuno mi sa dire perche!?

  2. #2
    nessuna idea!?
    per favore ragazzi, qualunque cosa vi venga in mente! non riesco a capire perchè faccia così!

    oltre tutto nella stessa stringa $body viene ripetuto 2 volte il link e la prima volta mette l'underscore e la seconda volta (fuori dall'<a href="">) invece scrive il link correttamente...

  3. #3
    posto tutta la pagina magari può aiutare

    Codice PHP:
    <?
    include("../cnct.php");
        
    $g='w';
        
    $n=substr($_POST['nome'],0,30);
        
    $p=substr($_POST['pwd'],0,30);
        
    $rp=substr($_POST['repwd'],0,30);
        
    $m=$_POST['mail'];
        
    //Convalida dati immessi
        
    if(strlen($n)==0)
            die (
    "Necessario inserire un nome utente.");
        if(
    strlen($p)==0)
            die (
    "Necessario inserire una password.");
        if(
    strlen($rp)==0)
            die (
    "Necessario confermare la password.");
        
    $n=htmlspecialchars($n);
        
    $query="SELECT nome , mail FROM members ORDER BY id ASC";
        
    $result=mysql_query($query$db)
            or die(
    "Errore nell'interazione col database.");
        while(
    $row=mysql_fetch_array($result)){
            if((
    strtolower($n)!="utente cancellato")&&(strtolower($n)!="utentecancellato")&&(strtolower($n)!="utente bannato")&&(strtolower($n)!="utentebannato")){
                if(
    $n==$row['nome']){
                    
    header("Location: ../reg.php?response=e&id=1");
                    die;
                }
                if(
    $m==$row['mail']){
                    
    header("Location: ../reg.php?response=e&id=2");
                    die;
                }
            }
        }
        
    //----------------------
        
    if($p==$rp){
            
    //Generazione ccode
            
    for($i=0;$i<15;$i++){
                
    $ccode $ccode chr(mt_rand(97,122));
            }
            
    $adate=time();
            
    $query="INSERT INTO members ( nome , pwd , mail , grado , ccode , adate ) VALUES ( '$n' , '$p' , '$m' , '$g' , '$ccode' , '$adate' )";
            
    mysql_query($query$db)
                or die(
    "Errore nell'inserimento del nuovo utente.");
            
    //manda mail
            
    $sbj='OPCDS: Conferma la tua registrazione!';
            
    $a_link='http//opcds.altervista.org/reg.php?resp'.'onse=mc&m='.$m.'&cc='.$ccode;
            
    $body='<div style="background-image: url([url]http://opcds.altervista.org/grafica/bg.png[/url]); background-repeat: repeat; color: #333333; font-weight: bold;">[img]http://opcds.altervista.org/grafica/extlink.png[/img]'.$n.', la tua richiesta di iscrizione sar&agrave; accettata solo dopo che confermerai il tuo indirizzo e-mail al seguete link: [url="'.$a_link.'"]conferma registrazione[/url].

    <div>Se il tuo programma di posta non supporta i formati HTML copia questo link nella barra degli indirizzi del tuo browser:
    '
    .$a_link.'</div>



    </div>'
    ;
            
    mail($m$sbj$body"MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\nFrom: validation@opcds");
            
    //redirect alla pagina di conferma
            
    header("Location: ../reg.php?response=s");
        } else {
            
    header("Location: ../reg.php?response=e&id=0");
            die;
        }
        
    ?>

  4. #4
    non ho capito molto bene.. ma perche questa riga
    Codice PHP:
      $a_link='http//opcds.altervista.org/reg.php?resp'.'onse=mc&m='.$m.'&cc='.$ccode
    ha resp'.'onse

    :master:

  5. #5
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Potresti provare a mettere un po di crlf nella tua stringa, e' probabile che il tuo client o il tuo server la spezzi a causa dell'eccessiva lunghezza.

    Ps:
    codice:
      <div style="background-image: url(http://opcds.altervista.org/grafica/bg.png); ...
    Dovresti dare anche una ripassata al html/css, cos'e' sta roba?

  6. #6
    Originariamente inviato da bubi1
    Ps:
    codice:
      <div style="background-image: url(http://opcds.altervista.org/grafica/bg.png); ...
    Dovresti dare anche una ripassata al html/css, cos'e' sta roba?
    grazie per il consiglio ora provo a mettere i crlf se mi dici cm si fa visto che l'ultimo linguaggio in cui ne ho usati era vb6 xD

    in ogni caso quella riga di codice l'ho stravolta mentre mi spaccavo la testa a cercare di capire perché non funzionasse la mail, prima era perfetta xD
    molto modestamente, ho una discreta conoscenza di entrambi i linguaggi

  7. #7
    Originariamente inviato da lambrusco999
    non ho capito molto bene.. ma perche questa riga
    Codice PHP:
      $a_link='http//opcds.altervista.org/reg.php?resp'.'onse=mc&m='.$m.'&cc='.$ccode
    ha resp'.'onse

    :master:
    è proprio quello il problema
    quella riga ha resp'.'onse perché nella mail di conferma che arriva all'iscritto arriva il link così: resp_onse quindi ho provato ad interromperlo e a legare le stringhe per vedere se sistemava ma niente....
    però come vedi all'interno della stringa $body è inserita 2 volte la stringa $a_link e la prima volta mi fa il link con "resp_onse" mentre la seconda lo fa giusto con "response"

    non so come spiegarlo... se volete provate ad iscrivervi e guardate il link su "conferma registrazione"... giuro che non è spam, nn sto cercando utenti xD
    il link è questo Registrazione

  8. #8
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    A me e' arrivato tutto corretto

    codice:
    <div style="background-image: url(http://opcds.altervista.org/grafica/bg.png); background-repeat: repeat; color: #333333; font-weight: bold;">bubi1, la tua richiesta di iscrizione sar&agrave; accettata solo dopo che confermerai il tuo indirizzo e-mail al seguete link: conferma registrazione.
    
    <div>Se il tuo programma di posta non supporta i formati HTML copia questo link nella barra degli indirizzi del tuo browser:
    http//opcds.altervista.org/reg.php?response=mc&m=mia@mail.com&cc=pkqjczvafgirweg</div>
    
    
    
    </div>
    Quindi suppongo e' il tuo client di posta a mostrartelo sbagliato.
    E non hai ancora messo i \r\n

  9. #9
    no nn li ho ancora messi perchè non so cm funzionano, ti avevo scritto in pvt xD
    comunque mi fa piacere che funzioni, nn ne venivo a capo ahah

  10. #10
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Beh, e' semplice

    ogni tanto (dopo chiusura tag, in mezzo alle frasi..etc) spezza la tua stringa con ."\r\n".

    Ad esempio il pezzo
    '.$n.', la tua richiesta di iscrizione sar&agrave; accettata solo dopo che confermerai il tuo indirizzo e-mail al seguete link:

    potresti farlo diventare
    '.$n."\r\n".', la tua richiesta di iscrizione sar&agrave; accettata solo dopo che confermerai il tuo indirizzo e-mail al seguete link:'."\r\n".'

    fai una prova e guarda se vedi ancora il resp_onse. Non sono sicuro che questo sia il motivo, ma mi pare di ricordare che outlook aveva dei strani comportamenti con le stringhe lunghe.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.