Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    Problemi ad inviare una mail HTML da PHP

    Salve, ho creato un istruzione per inviare una mail in formato HTML.
    L'istruzione funziona benissimo, l'unico problema è che quando inserisco del testo lungo, chi riceve l'e_mail legge il testo in formato HTML con un punto esclamativo all'interno del testo, punto esclamativo che io, ovviamente, non ho inserito.
    Ho riscontrato che detto punto esclamativo compare con testi molto lunghi, all'incirca oltre il 900esimo carattere.
    Mi sembra un po strano ma è proprio così.
    Sinceramente non so proprio cosa fare oltre a pensare che potrebbe essere un problema di stringa.
    In alcuni linguaggi di programmazione le stringhe possono assumere valori fino a 255 caratteri.
    Forse ho detto una stupidaggine ma non sò cos'altro pensare.
    Tengo a precisare che se inserisco lo stesso testo senza i tag in html, il problema non sussiste.
    Ho fatto una prova con il seguente testo:

    aaaa aaaaa aaaa ..... sito1 aaaa aaa aaa .....sito2 il tutto con caratteri che vanno oltre i 900.


    Posto il codice php semplificato.

    $mittente = $_POST['mittente'];
    $destinatario = $_POST['destinatario'];
    $oggetto = $_POST['oggetto'];
    $confermalettura = $_POST['confermalettura'];
    $messaggio = $_POST['messaggio'];
    if ($confermalettura=="true")
    {
    $risposta = "Disposition-Notification-To: $emailassistenza";
    }
    else
    {
    $risposta = "";
    }
    $headers = "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
    $headers .= "Content-Transfer-Encoding: 7bit\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "From: $mittente\r\n";
    $headers .= "$risposta\r\n";
    if (mail($destinatario, $oggetto, $messaggio, $headers))
    {
    $errore = 0;
    }
    else
    {
    $errore = 1;
    }
    ecc. ecc.
    Grazie mille.
    Ms.

  2. #2
    Non so dirti da cosa possa dipendere il tuo problema, ma perché non usi PHPMailer?
    Dovresti poter gestire meglio un po' tutto: il "plain text", l'html, i destinatari, la codifica, gli allegati...
    Michele
    King Of The Kill

  3. #3
    Non uso PHPMailer semplicemente perchè non lo conosco, ho optato per il sistema che ho postato in precedenza in quanto ho trovato della documentazione su internet, l'ho studiata e l'ho applicata al mio caso.
    Aspetterò un altro pò, forse qualcuno possa darmi qualche informazione sul mio caso.
    Se non ricevo nulla provvederò a scaricarmi un po di documenti da internet e ad utilizzare phpmailer.
    Grazie per il momento.
    Ms.

  4. #4
    Ok... mi spiace non saperti aiutare nel tuo caso specifico ma, in ogni caso, credo che la comunità di questo forum sarà ugualmente prodiga di consigli anche quando/se passerai a PHPMailer

    Ciao!
    Michele
    King Of The Kill

  5. #5
    Ti ringrazio. Gentilissimo.
    Nel frattempo che qualcuno mi possa aiutare ho scaricato della documentazione in italiano su phpmailer, tale documentazione mi ha rimandato ad un sito internet, lo stesso che mi hai postato tu in precedenza.
    Volevo scaricare phpmailer ma ho visto che in basso a destra ci sono varie voci, le prime due per alcune versioni di php.
    Mi puoi dire quale devo scaricare così incomincio a studiarmeli e a vedere quali vantaggi ci sono rispetto al metodo che ho utilizzato io, giusto per capirci un pò?
    Grazie.
    Ms.

  6. #6
    Dovresti verificare quale versione di php stai utilizzando ma, ad occhio e croce, ti direi di scaricare la versione per PHP 5/6 (clicca qui).
    Estrai l'archivio e copiati i tre file (class.phpmailer.php, class.pop3.php e class.smtp.php) in una cartella del tuo sito. In realtà pop3 non ti dovrebbe servire, almeno per ora...

    Poi, una volta incluso class.phpmailer.php nel tuo file che invia la mail, potrai finalmente "giocare" un po' con la classe PHPMailer...
    Michele
    King Of The Kill

  7. #7
    Ciao.
    Allora, ho scaricato i file che mi hai detto tu e li ho messi in una cartella chiamata inviomail sul server, ho creato un file php d'esempio per verificarne il funzionamento e ho incluso class.phpmailer.php
    Ho lanciato il file php ma mi da il seguente errore:
    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /membri/sitomarco/inviomail/class.phpmailer.php on line 53

    Posto il codice creato in parte da me ed in parte con esempi trovati su internet.

    <?
    //includiamo la classe PHPMailer
    require "inviomail/class.phpmailer.php";

    //istanziamo la classe
    $messaggio = new PHPmailer();
    $messaggio->IsSMTP();
    $messaggio->Host='Host SMTP';

    //definiamo le intestazioni e il corpo del messaggio
    $messaggio->From=mittente@dominio.it';
    $messaggio->AddAddress(destinatario@dominio.it');
    $messaggio->AddReplyTo(mittente@dominio.it');
    $messaggio->Subject='Prova.';
    $messaggio->Body=stripslashes('Ciao!!!!');

    //definiamo i comportamenti in caso di invio corretto
    //o di errore
    if(!$messaggio->Send()){
    echo $messaggio->ErrorInfo;
    }else{
    echo 'Email inviata correttamente!';
    }

    //chiudiamo la connessione
    $messaggio->SmtpClose();
    unset($messaggio);
    ?>

    Siccome il file class.phpmailer.php viene incluso, per rilevare la linea 53 ho pensato subito a questo file ed ho constatato che è un bel mattoncino da studiare.
    Siccome l'ho scaricato da internet dove mi hai detto tu, sicuramente l'avranno utilizzato in molti e ho dato per scontato che al suo interno non ci fossero errori per cui, per esclusione, metto sotto accusa il file che ho creato io.
    Purtroppo non riesco a trovare l'errore, mi sai dire qualcosa?
    Eventualmente fosse sbagliato interamente, hai un file d'esempio che posso studiarmi e modificare a mio piacere?
    Grazie mille.
    Ms.

  8. #8
    Ho copiato il tuo codice commentando le righe

    $messaggio->IsSMTP();
    $messaggio->Host='Host SMTP';

    e aggiungedo degli apici qua e là (ma non so se il problema era tuo o se erano stati eliminati da questo forum) e a me funziona.
    Hai per caso aperto il file class.phpmailer.php? Magari è stato modificato per sbaglio... a me succede spesso di fare cavolate del genere

    Codice PHP:
    <?php
    //includiamo la classe PHPMailer
    require "inviomail/class.phpmailer.php";

    //istanziamo la classe
    $messaggio = new PHPmailer();

    # usiamo un server smtp per l'invio? se sì, impostare correttamente il server (es.: smtp.server_da_utilizzare.it)
    # 'Host SMTP' va modificato di sicuro, se si usa l'smtp
    /*$messaggio->IsSMTP();
    $messaggio->Host = 'Host SMTP';*/

    //definiamo le intestazioni e il corpo del messaggio
    $messaggio->From 'mittente@dominio.it';
    $messaggio->AddAddress('destinatario@altrodominio.it');
    $messaggio->AddReplyTo('mittente@dominio.it');
    $messaggio->Subject 'Prova.';
    $messaggio->Body stripslashes('Ciao!!!!');

    //definiamo i comportamenti in caso di invio corretto
    //o di errore
    if(!$messaggio->Send()){
        echo 
    $messaggio->ErrorInfo;
    }else{
        echo 
    'Email inviata correttamente!';
    }

    //chiudiamo la connessione
    #$messaggio->SmtpClose();
    unset($messaggio);
    ?>
    Michele
    King Of The Kill

  9. #9
    Qui trovi un po' di esempi (parti da 'Basic Mail() Example'):

    esempi PHPMailer
    Michele
    King Of The Kill

  10. #10
    Ho copiato il codice che mi hai mandato tu, con un taglia ed incolla ma mi esce sempre lo stesso errore, ho provato anche a scaricarmi di nuovo i tre file class... da internet e a caricarli sul server così da escludere qualsiasi modifica involontaria da parte mia ma l'errore è sempre presente.
    Mi sembra strano che a te funzioni e a me no, non vorrei che sia qualche problema del server.
    Il mio sito è ospitato su altervista, sai niente?
    Comunque adesso provo con un altro esempio e poi mi faccio viva su questo forum.
    Grazie.
    Ms.

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.