Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Php] - Mail strane con HTML

    Salver a tutti,
    sto' cercando di inviare un mail in formato HTML.
    La invio utilizzando il codice mail. Questa è la classe che utilizzo:

    Codice PHP:
    <?
    class eMail
    {
        var 
    $to = array();
        var 
    $cc = array();
        var 
    $bcc = array();
        var 
    $attachment = array();
        var 
    $boundary "";
        var 
    $header "";
        var 
    $subject "";
        var 
    $body "";

        function 
    eMail($name,$mail)
        {
            
    $this->boundary md5(uniqid(time()));
            
    $this->header .= "From: $name <$mail>\n";
        }

        function 
    to($mail)
        {
            
    $this->to[] = $mail;
        }

        function 
    cc($mail)
        {
            
    $this->cc[] = $mail;
        }

        function 
    bcc($mail)
        {
            
    $this->bcc[] = $mail;
        }

        function 
    attachment($file)
        {
            
    $this->attachment[] = $file;
        }

        function 
    subject($subject)
        {
            
    $this->subject $subject;
        }

        function 
    text($text)
        {
            
    $this->body "Content-Type: text/plain; charset=ISO-8859-1\n";
            
    $this->body .= "Content-Transfer-Encoding: 8bit\n\n";
            
    $this->body .= $text."\n";
        }

        function 
    html($html)
        {
            
    $this->body "Content-Type: text/html; charset=ISO-8859-1\n";
            
    $this->body .= "Content-Transfer-Encoding: quoted-printable\n\n";
            
    $this->body .= "<html><body>\n".$html."\n</body></html>\n";
        }

        function 
    send()
        {
            
    // CC Empfänger hinzufügen
            
    $max count($this->cc);
            if(
    $max>0)
            {
                
    $this->header .= "Cc: ".$this->cc[0];
                for(
    $i=1;$i<$max;$i++)
                {
                    
    $this->header .= ", ".$this->cc[$i];
                }
                
    $this->header .= "\n";
            }
            
    // BCC Empfänger hinzufügen
            
    $max count($this->bcc);
            if(
    $max>0)
            {
                
    $this->header .= "Bcc: ".$this->bcc[0];
                for(
    $i=1;$i<$max;$i++)
                {
                    
    $this->header .= ", ".$this->bcc[$i];
                }
                
    $this->header .= "\n";
            }
            
    $this->header .= "MIME-Version: 1.0\n";
            
    $this->header .= "Content-Type: multipart/mixed; boundary=$this->boundary\n\n";
            
    $this->header .= "This is a multi-part message in MIME format\n";
            
    $this->header .= "--$this->boundary\n";
            
    $this->header .= $this->body;

            
    // Attachment hinzufügen
            
    $max count($this->attachment);
            if(
    $max>0)
            {
                for(
    $i=0;$i<$max;$i++)
                {
                    
    $file fread(fopen($this->attachment[$i], "r"), filesize($this->attachment[$i]));
                    
    $this->header .= "--".$this->boundary."\n";
                    
    $this->header .= "Content-Type: application/x-zip-compressed; name=".$this->attachment[$i]."\n";
                    
    $this->header .= "Content-Transfer-Encoding: base64\n";
                    
    $this->header .= "Content-Disposition: attachment; filename=".$this->attachment[$i]."\n\n";
                    
    $this->header .= chunk_split(base64_encode($file))."\n";
                    
    $file "";
                }
            }
            
    $this->header .= "--".$this->boundary."--\n\n";

            foreach(
    $this->to as $mail)
            {
                
    mail($mail,$this->subject,"",$this->header);
            }
        }
    }
    ?>

    La cosa che non capisco ... se arriva a @virgilio.it @email.it OK, se arriva a @libero.it non visualizzo le immagini, guardo il corpo delle email e noto che mancano dei pezzi ( ad esempio src=http:// diventa src=ttp://) chi mi spiega il perchè? Oppure avete uno script testato che vada bene?


    Dove sbaglio? E' un problema di codifica? VVoVe:


    =============
    NOTA
    =============
    Il testo dell'email (che poi altro non è che una serie di tag HTML) arrivano alla pagina che richiama la classe mediante una form.
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  2. #2
    Onestamente non so se è un problema dello script. Da quello che dici lo script funziona perchè ad alcune mail il codice è intatto. Non potrebbe essere che gli altri server modifichino il codice per non far visualizzare gli allegati come misura preventiva di sicurezza? Hai fatto una prova con un prog normale per la posta?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Io inm realta ujtilizzo solo il codice x inviare un email con testo in formato HTML ....... non mando allegati.
    Ad esempio su libero mi cambia tutta la formattazione delle pagine, in quando taglia dei tag!!!!!
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  4. #4

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.