Visualizzazione dei risultati da 1 a 5 su 5

Discussione: mail php e textarea

  1. #1
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549

    mail php e textarea

    salve.
    nonostante abbia utilizzato la stessa procedura parecchie volte, ora ho un problema: utilizzando la funzione mail di php, questa mi produce un errore quando il corpo del messaggio, recuperato da una textarea, contiene un ritorno a capo.
    per esempio se nella textarea ci scrivo:
    prova invio email
    funziona
    se invece scrivo:
    prova invio email
    prova
    non funziona.

    cosa potra essere?

    molte grazie


    php restituisce 2 warning uguali:
    Warning: mail() [ function.mail ]: SMTP Server response: 451
    See http://pobox.com/~.......... in http://www.miosito......... on line 18.
    nella linea 18 c'è la funzione email()
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  2. #2
    Perchè non usi la classe phpmailer? Così facendo potresti utilizzare qualsiasi tag html senza problemi.

  3. #3
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    il problema è a monte.
    per spedire il form alla procedura php che contiene mail() utilizzo ajax. i vari campi da spedire sono quindi convertiti, lato client, con encodeURIComponent. quando poi li recupero lato server con $_POST[""] e li inserisco nella funzione mail, il campo che contiene i ritorno a capo mi genera l'errore. credo si tratti di problemi di codifica. ma non so come risolvere il problema.

    ho anche provato a spedire l'email in formato html, ma niente cambiamenti.
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  4. #4
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    integro il codice:

    invia.htm

    Codice PHP:
    <form action="#">
    <
    input accesskey="B" name="_nome" tabindex="10" type="text" size="40" maxlength="40" title="AccessKey B, TabIndex 10 || Inserire il nome" />
    <
    textarea accesskey="Q" name="_testo" tabindex="15" rows="10" cols="60" title="AccessKey Q, TabIndex 15 || Inserire il testo dell'email"></textarea>
    ......
    </
    form
    invia.js

    Codice PHP:
    for (var i=0;i<datiEmail.length;i++)
    {
            var 
    dato=encodeURIComponent(datiEmail[i]);
            
    dato+="=";
            
    dato+=encodeURIComponent(datiEmail[i].value);
            
    body.push(dato);
            
    }
    return 
    body.join("&");
    .....
    var 
    xmlhttp=creaOggettoXMLHttp();
    xmlhttp.open("post","invia.php",true);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlhttp.onreadystatechange=function()
    {
        if (
    xmlhttp.readyState==4)
        {
            if (
    xmlhttp.status==200)
            {
                
    alert(xmlhttp.responseText);
            }
            else
            {
                    
    alert("Errore durante l'invio del messaggio(" xmlhttp.statusText ").";
                             
            }
        }
    };
    xmlhttp.send(body); 
    invia.php

    Codice PHP:
    header("Content-Type: text/plain;");
    .....
    recupero i dati da $_POST[]
    .....
    mail("$destinatario","$oggetto","$messaggio","$headers");
    ...... 
    aggiungo che ho forzato il funzionamento in questo modo:
    lato client, dopo aver codificato con encodeURIComponent() i dati, tramite string.replace, ho sostituito la codifica del ritorno a capo, "%0A" con una stringa di mia invenzione "#acapo".
    lato server chiaramente ho sostituito dalle variabili post la stringa "#acapo" con il ritorno a capo "\r\n". così funziona, il che conferma che è quel dannato "%0A" che crea l'errore.
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  5. #5
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    ...?
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

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 © 2025 vBulletin Solutions, Inc. All rights reserved.