Visualizzazione dei risultati da 1 a 2 su 2

Discussione: email in html

  1. #1

    email in html

    salve io invio un'email html in questo modo:
    function email($email,$oggetto,$testo,$mittente){
    global $headers,$inferiore,$superiore,$emailInfo;
    $attach = $_FILES["file"]["tmp_name"];
    $file_name = $_FILES["file"]["name"];
    $file_type = $_FILES["file"]["type"];
    $file_size = $_FILES["file"]["size"];

    $e=$email;
    $ogg=$oggetto;
    $mittente=$mittente; /*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/
    $reply=$mittente; /*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/

    if(!empty($attach)){
    $titolo=$file_name; /*Inserire il nome che si vuole dare all'allegato*/
    $f=$attach; /*Inserire l'indirizzo del file che si vuole inviare come allegato*/
    $filetype=$file_type; /*Inserire il formato */
    $intestazioni = "From: $mittente\nBcc: $email\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $titolo";
    $body_top = "--Message-Boundary\n";
    $body_top .= "Content-type: text/html; charset=iso-8859-1\n";
    $body_top .= "Content-transfer-encoding: 7BIT\n";
    $body_top .= "Content-description: Mail message body\n\n";
    $mess=$superiore.nl2br($testo).$inferiore;
    $msg_body = $body_top . $mess;
    $filez = fopen($f, "r");
    $contents = fread($filez, $file_size);
    $encoded_attach = chunk_split(base64_encode($contents));
    fclose($filez);
    $msg_body .= "\n\n--Message-Boundary\n";
    $msg_body .= "Content-type: $filetype; name=\"$titolo\"\n";
    $msg_body .= "Content-Transfer-Encoding: BASE64\n";
    $msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n";
    $msg_body .= "$encoded_attach\n";
    $msg_body .= "--Message-Boundary--\n";
    }else{
    $intestazioni = "MIME-Version: 1.0\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\n";
    /* intestazioni addizionali */
    $intestazioni .= "From: $mittente\n";
    $intestazioni .= "Bcc: $email\n";

    $msg_body=$superiore.nl2br($testo).$inferiore;

    }
    if(!mail("",$ogg,$msg_body,$intestazioni)){
    errore_messaggio("impossibile inviare l'email");
    }
    }
    stranamente il contenuto dell'email deve essere scritta tutta in un unico rigo altrimenti se vado a capo l'email si sposterà verso il basso.
    Quindi deve essere scritta così:
    $contenuto='<table width="700"><tr><td colspan="2" width="50%"></td><td colspan="2" width="50%"><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">[/b]</font></td></tr><tr><td colspan="4"><font face="Verdana, Arial, Helvetica, sans-serif" color="#cc3399" size="2">Richiesta gratuita del magazine Camomilla Italia</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Nome</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['nome'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Indirizzo</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['indirizzo'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Cod. Postale</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['codice'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Città</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['citta'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Provincia / Stato</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['provincia'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Paese</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['paese'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Email</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['email'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Sei già un cliente camomilla Italia?</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['italia'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Sei interessato al franchising?</font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['franchising'].'</font></td></tr><tr><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">Desideri ricevere gratuitamente il nostro magazine ogni stagione? </font></td><td width="35%" ><font face="Verdana, Arial, Helvetica, sans-serif" color="#000" size="2">'.$_POST['magazine'].'</font></td></tr></table>';

    il problema che se il rigo è troppo lungo non viene visualizzata correttamente perchè sul server il rigo viene troncato quando va a capo senza una logica.
    Come posso risolvere il problema??

  2. #2
    Prova a usare la classe PHP Mailer esempio

    Con questa puoi formattare il testo della tua mail come vuoi, anche su più righe....

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.