Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    codice non conforme a tutti indirizzi email(html)

    salve a tutti,
    mi sto occupando di una gestione di newsletter come molti di voi avranno gia fatto!!
    ho un problema nella visualizzazione della mail ricevuta!
    ho effettuato diverse prove:
    indirizzo@libero.it,
    indirizzo@hotmail.com,
    indirizzo@unicam.it,
    indirizzo@email.it,
    indirizzo@gmail.it,
    e quello di email.it è l'unico che mi visualizza in formato corretto la mail che deve essere in formato html!!
    questa è la parte del codice dove viene creata la mail prima della funzione invia:

    Codice PHP:
    function manda_mail($des, $oggetto, $corpo) {
        //$pos = strpos($ema, "hotmail.com");
        //if($pos==false){
            $query = mysql_query("SELECT distinct(email) FROM newsletter WHERE id_cat='".$des."' ORDER BY id");
                //    limit ".$limi.", 3000";
                while ($data=mysql_fetch_array($query))    
                {             
                $indirizzo_email = $data["email"];
                echo $indirizzo_email." deve stampare un indirizzo alla volta!!!
    ";
                    $headers  = "MIME-Version: 1.0\n";
                    $headers .= "Content-type: text/html; charset=iso-8859-1\n";
                    $headers .= "X-Priority: 1\n";
                    $headers .= "X-MSMail-Priority: High\n";
                    $headers .= "X-Mailer: PHP4\n";
                    $headers .= "From: [email]info@mioindirizzo.it[/email]\n";
            //$headers .= "To: Iscritti maillist ";
            //$headers .= "\nReply-To: [email]info@mioindirizzo.it[/email]\n";
            
            //$extra="-finfo@mioindirizzo.it";
            //$fd = popen("/usr/sbin/sendmail -t $extra", 'w');
        
            //fputs($fd, "To: $indirizzi_email\n");
            //fputs($fd, "Subject: $oggetto\n");
            //fputs($fd, "$headers");
            
            //fputs($fd, "\n");
            //fputs($fd, $corpo);
            //pclose($fd);
            
                    if(@mail($indirizzo_email, $oggetto, $corpo, $headers))    {
                    ?>    
                    <font color="#FF00FF" > <? echo "Spedito a ".$indirizzo_email."
    "
    ?></font>
                    <?    }  
                    else {
                    
    ?>
                    <font color="#FF0000"><?    echo "Errore nell'invio email a:".$indirizzo_email."
    "
    ?></font>
                <?  
               
                 }
    ?>
                 [url="newsletter.php"] torna indietro[/url]
    <? ?>
    riuscite a capire se cè qualcosa di errato nella composizione della mail, nel formato html che vadoa comporre?

    grazie mille ciao


    p.s.: dimenticavo, anche il mio stesso server non mi visualizza la mail in formato html!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    scusate se non lo specificato prima, ma il corpo della mail che andrò ad inviare è gia memorizzato nel db sotto forma di pagina html!!! quinid quando vado a visualizzare quel determinato campo in ogni riga del db nella tabella corrispondente alle lettere create, mi trovo una pagina del tipo:

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd"
    >
    <
    html>
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <
    title>mia azienda</title><style type="text/css">
    body {
        
    margin0px;
        
    padding:10px 0px 0px;
        
    border:0px;
        
    background-color#FFF9F4;
    }
    img {
        
    border0px;
    }
    .
    tab {
        
    font-family:Georgia"Times New Roman"Timesserif;
        
    font-size:12px;
        
    color:#191919;
        
    width600px;
        
    border-top1px solid #CDCDCD;
        
    border-right1px solid #CDCDCD;
        
    border-left1px solid #CDCDCD;
    }
    .
    titolo {
        
    font-size:17px;
        
    color:#F67F21;
        
    padding0px 0px 5px;
    }
    .
    tes {
        
    padding5px 0px 0px 0px;
        
    text-alignleft;
    }
    .
    ima {
        
    floatright;
        
    padding0px 5px 5px;
        
    text-aligncenter;
    }
    .
    top {
        
    width600px;
        
    height85px;
        
    background-imageurl([url]http://www.mio[/url] sito.com/...path.../top_gen.gif);
        
    background-repeatno-repeat;
        
    text-alignright;
    }
    .
    cont {
        
    background-color#FFFFFF;
        
    padding15px;
    }
    .
    foot {
        
    width220px;
        
    background-color#000000;
    }
    .
    sito {
        
    font-familyArialHelveticasans-serif;
        
    font-size10px;
        
    color#FFFFFF;
        
    padding-top2px;
        
    padding-right10px;
    }
    .
    sito a{
        
    font-familyArialHelveticasans-serif;
        
    font-size10px;
        
    color#FFFFFF;
        
    text-decorationnone;
    }
    .
    sito a:hover{
        
    color#000000;
    }
    .
    link {
        
    font-familyArialHelveticasans-serif;
        
    font-size10px;
        
    color:#191919;
        
    padding-top5px;
        
    padding-right10px;
        
    text-alignleft;
    }
    .
    link a{
        
    font-familyArialHelveticasans-serif;
        
    font-size10px;
        
    color:#191919;
    }
    .
    link a:hover{
        
    color:#F67F21;
    }
    .
    copy {
        
    font-familyArialHelveticasans-serif;
        
    font-size10px;
        
    color#FE7F13;
        
    padding-top2px;
        
    padding-bottom2px;
        
    padding-left0px;
        
    text-alignright;
        
    padding-right10px;
    }
    .
    line {
        
    background-imageurl([url]http://www.mio[/url] sito.com/...path.../line.gif);
        
    background-repeatrepeat;
        
    height16px;
    }
    .
    firma {
        
    text-aligncenter;
        
    padding-left350px;
        
    padding-top10px;
    }
    .
    carotti {
        
    font-stylenormal;
        
    font-weightbold;
    }
    </
    style>
    </
    head>

    <
    body>
        <
    center>
            <
    table width="600" border="0" cellpadding="0" cellspacing="0" class="tab">
                <
    tr>
                    <
    td valign="top" class="top"><div class="sito">[url="http://www.miosito.it"][url]www.miosito.it[/url][/url]</div></td>
                </
    tr>
                <
    tr valign="top">
                  <
    td class="cont">                <div class="titolo" align="left">634563456</div>
                    <
    table width="570" border="0" cellpadding="0" cellspacing="0">
                        <
    tr>
                                 <
    td valign="top" class="tes">
    436w5e4                        </td>
                        </
    tr>
                            <
    tr>
                                <
    td class="line">[img]http://www.miosito.com/...path.../line.gif[/img]</td>
                            
    </tr>
                        </
    table>
                    <
    table width="570" border="0" cellpadding="0" cellspacing="0">
                        <
    tr>
                                 <
    td valign="top" class="tes">
    34563456                        </td>
                        </
    tr>
                            <
    tr>
                                <
    td class="line">[img]http://www.mio sito.com/...path.../line.gif[/img]</td>
                            
    </tr>
                        </
    table>
                    <
    div class="firma">aaaaaaaaaaaa
      
    <div class="carotti">bbbbbbbbbbbbbbb</div>
    </
    div>
                  </
    td>
              </
    tr>
                <
    tr>
                  <
    td class="foot"><div class="copy">ccccccccccccccc</div></td>
              </
    tr>
            </
    table>
        </
    center>
    </
    body>
    </
    html
    che andrò poi ad inviare.
    magari forse così è + chiaro.
    quindi nella composizione della mail il campo corpo è tutto quello sopra elencato!

    qualcuno sa come aiutarmi??

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    dopo una lunga ricerca ho modificato così la parte di header e di messaggio della mail:

    Codice PHP:
    <?
    function manda_mail($des$oggetto$corpo) {
        
            
    $query mysql_query("SELECT distinct(email) FROM newsletter WHERE id_cat='".$des."' ORDER BY id");
                
                while (
    $data=mysql_fetch_array($query))    
                {             
                
    $indirizzo_email $data["email"];
                echo 
    $indirizzo_email." deve stampare un indirizzo alla volta!!!
    "
    ;
                    
    // costruiamo alcune intestazioni generali
                    
    $header "From: [email]info@mio sito.it[/email]\n";
                    
    $header .= "To: Iscritti maillist ";
                    
    $header .= "\nReply-To: [email]info@miosito.it[/email]\n";
                    
    $header .= "X-Priority: 1\n";
                    
    $header .= "X-MSMail-Priority: High\n";
                    
    $header .= "X-Mailer: PHP4\n";
                    
                    
    // generiamo la stringa che funge da separatore
                    
    $boundary "==String_Boundary_x" .md5(time()). "x";

                    
    // costruiamo le intestazioni che specificano
                    // un messaggio costituito da più parti alternative
                    
    $header .= "MIME-Version: 1.0\n";
                    
    $header .= "Content-Type: multipart/alternative;\n";
                    
    $header .= " boundary=\"$boundary\";\n\n";

                    
    $messaggio $corpo;
                    
    // questa parte del messaggio viene visualizzata
                    // solo se il programma non sa interpretare
                    // i MIME poiché è posta prima della stringa boundary
                    
    $messaggio .= "Se visualizzi questo testo il tuo programma non supporta i MIME\n\n";

                    
    // inizia la prima parte del messaggio in testo puro
                    
    $messaggio .= "--$boundary\n";
                    
    $messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
                    
    $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
                    
    $messaggio .= "Messaggio in formato testo.\n\n";

                    
    // inizia la seconda parte del messaggio in formato html
                    
    $messaggio .= "--$boundary\n";
                    
    $messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
                    
    $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
                    
    $messaggio .= "<html><body>

    Questo messaggio è in formato [i]html[/i] ma ha una parte testo.</p>

    Visita il sito <a                             href=\"http://www.html.it\">[url]www.html.it[/url]</a></p></body></html>\n"
    ;

                    
    // chiusura del messaggio con la stringa boundary
                    
    $messaggio .= "--$boundary--\n";
            
                    if(@
    mail($indirizzo_email$oggetto$messaggio$header))    {
                    
    ?>    
                    <font color="#FF00FF" > <? echo "Spedito a ".$indirizzo_email."
    "
    ?></font>
                    <?    }  
                    else {
                    
    ?>
                    <font color="#FF0000"><?    echo "Errore nell'invio email a:".$indirizzo_email."
    "
    ?></font>
                <?  
               
                 }
    ?>
                 [url="newsletter.php"] torna indietro[/url]
    <? ?>
    può funzionare così??
    ho trovato una guida nella sezione del sito.
    così potrà andare?? ne riparliamo domani, perchè l'ufficio m'ha cacciato!!!... ed io che fatico e sgobbo per loro
    se qualcuno ha modo di provarlo...mi faccia sapere...(glie ne sarei gratissimo)
    il corpo della mail che passo sulla funzione mail è la pagina html descritta nel messaggio precedente!! un'anima buona che mi permette di sapere prima di domani se lo script funziona cè?? grazie mille a tutti!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    uffa!!
    ragazzi ancora nulla... dopo un pò di paura..nel credere che avevo intasato il server..( per tutto il pomeriggio nessuno ha + ricevuto email!!)...e ancora lo credo, cmq fatto stà che
    le mailche arrivano non vengono visualizzate in html!! l'intestazione lo cambiata così :
    Codice PHP:
    <?
    $header 
    "From: [email]info@mio_sito.it[/email]\n";
                    
    $header .= "To: ".$indirizzo_email ;
                    
    $header .= "\nReply-To: [email]info@miosito.it[/email]\n";
                    
    $header .= "X-Priority: 1\n";
                    
    $header .= "X-MSMail-Priority: High\n";
                    
    $header .= "X-Mailer: PHP4\n";
                    
                    
    // generiamo la stringa che funge da separatore
                    
    $boundary "==String_Boundary_x" .md5(time()). "x";

                    
    // costruiamo le intestazioni che specificano
                    // un messaggio costituito da più parti alternative
                    
    $header .= "MIME-Version: 1.0\n";
                    
    $header .= "Content-Type: multipart/alternative;\n";
                    
    $header .= " boundary=\"$boundary\";\n\n";

                    
    //$messaggio = $corpo;
                    // questa parte del messaggio viene visualizzata
                    // solo se il programma non sa interpretare
                    // i MIME poiché è posta prima della stringa boundary
                    
    $messaggio "Se visualizzi questo testo il tuo programma non supporta i MIME\n\n";

                    
    // inizia la prima parte del messaggio in testo puro
                    
    $messaggio .= "--$boundary\n";
                    
    $messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
                    
    $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
                    
    $messaggio .= "Messaggio in formato testo.\n\n".$corpo;

                    
    // inizia la seconda parte del messaggio in formato html
                    
    $messaggio .= "--$boundary\n";
                    
    $messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
                    
    $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
                    
    $messaggio .= $corpo;

                    
    // chiusura del messaggio con la stringa boundary
                    
    $messaggio .= "--$boundary--\n";
    //    echo $indirizzo_email;
                    
    if(mail($indirizzo_email$oggetto$messaggio$header))
    ?>
    come mai non visualizza bene la mail??
    ho controllato l'header in ricezione, ed è tuitto ok! qualche idea?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    UP...
    magari qualcuno di chi è presente oggi è in grado di darmi una mano...
    sempre stesso problema.
    ho controllato l'e-mail che arriva e ilsuo header.
    header è giusto, ma la mail è come se fosse doppia.
    possibile che sia dovuto al fatto che includo due volte la variabile $corpo,
    nella quale viene richiamata l'intera pagina html memorizzata nella tabella del mio db?

    come posso fare per far visualizzare correttamente l'a mail che invio in tutti i client di posta??

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    pls... nesusno che può darmi una mano per impostare correttamente questo cavolo di header?? mi sono letto e seguito passo passo le istruzioni della guida
    http://php.html.it/articoli/leggi/91...tml-con-php/4/

    ma l'email non ne vuole sapere id arrivare correttamente nelle mail!

    ...@gmail.com, ...@libero.it, ...@unicam.it, ...@hotmail.com, ... email.it VVoVe: VVoVe:

    sono gli indirizzi da me controllati! in ognuno di questi si vusualizza in modo diverso dall'altra.

    nessuno che ha impostato cerrettamente un header con un boundary??


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.