Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problema invio mail

  1. #1
    deconc
    Guest

    Problema invio mail

    Ciao ragazzi,
    scusate ma ho un grande problema con l'invio di mail formattate:
    nella pagina che invia la mail mi creo una variabile con il testo del messaggio del tipo:

    codice:
    $msg="<html> <body> testo testo </body> </html>";
    poi le intestazioni:

    codice:
    $intestazione  = "MIME-Version: 1.0\r\n";
    $intestazione .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $intestazione .= "From: $from";
    e tutto quello che mi serve(to,subject...) e quindi invio:

    codice:
    mail($to, $subject, $msg, $intestazione);
    Fin qui tutto ok, la mail arriva formattata correttamente.
    Il problema c'è quando la mail è molto lunga..Dopo un TOT caratteri mi si "perde" un carattere...Quindi nel caso in cui si "perda" un carattere di un tag, la formattazione se ne va.
    Ho provato con la wordwrap(), ma il problema c'è ancora.
    Sembra che neanche ci sia un criterio con cui si perde questi caratteri..se invio due volte la stessa mail una volta si perde un carattere, poi un altro..

    Spero che qualcuno possa aiutarmi.
    Ciao e grazie

  2. #2
    www.php.net/wordwrap

    se guardi tra gli esempi, trovi funzioni che tengono conto dell'html
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    deconc
    Guest
    La wordwrap la usavo già e ho provato anche ad usare le funzioni che stanno nel manuale..sempre lo stesso problema!
    ecco un esempio del codice d'origine che mi arriva nella mail che invio:

    codice:
    
    [img]htp://www.cenacolo.org/image/ok.gif[/img]
    
    
    Mi si è perso una "t" su http:// quindi non mi si vede l'immagine..

    Oppure

    codice:
    <td>INTRODUZIONE
    AI
    FATTORI
    CHE
    INFLUENZANO
    IL
    SUCCESSO
    IN
    IMPLANTOLOGIA
    (<font
    size="1">
    Infermiere
    </font>
    )
    /td>
    mi si è perso il "<" del td e la tabella se ne va...
    come vedi la wordwrap funziona correttamente: quando trova uno spazio bianco va a capo.
    non sono neanche errori miei di scrittura perchè mi creo la tabella in un ciclo con i dati di una query, quindi se fosse un errore di scrittura dovrei vederlo su tutte le righe...

    Non so più cosa fare!
    Ciao e grazie!

  4. #4
    prova ad usare questa

    codice:
     function wordwrap2($str, $cols, $cut) {
              $wordlen = 0;
              $result = "";
              $len = strlen($str);
              $tag = 0;
              for ($i = 0; $i < $len; $i++) {
                   $chr = $str[$i];
                   if ($chr == '<') {
                       $tag++;
                   } else if ($chr == '>') {
                       $tag--;
                   } else if ((!$tag) && (ctype_space($chr))) {
                       $wordlen = 0;
                   } else if (!$tag) {
                       $wordlen++;
                   }
    
                   if ((!$tag) && ($wordlen) && (!($wordlen % $cols))) {
                         $chr .= $cut;
                   }
    
                   $result .= $chr;
              }
              return $result;
     }
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    6
    Ho dovuto cambiare account..
    Grazie dei consigli, ma ancora problemi!
    Continuo a perdere caratteri...
    Cosa debbo fare?

    Ciao e grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    6
    Ho risolto usando phpMailer.
    Grazie comunque. Ciao!

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.