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

    Form con TextArea -> Mail Php

    Ciao a tutti,
    premettendo che ho fatto il giro del forum e le soluzioni che ho trovato non son riuscito a farle andare, devo passare una textarea in un form e questo form lo invio con metodo POST ad un'altra pagina che invia i dati via mail.
    L'invio funziona perfettamente, ma l'unico problema sono le lettere accentate. Ho provato il replace, l'htmlentities ma viene sempre fuori un porcaio.
    Questo è il codice di partenza. Che cosa manca? (il problema me lo fa "notebar")

    if (isset($_POST['film']) && $_POST['film']!="") $film=$_POST['film'];
    else $film="N/D";
    $film=str_replace("\\","",$film);

    if (isset($_POST['ora']) && $_POST['ora']!="") $ora=$_POST['ora'];
    else $ora="N/D";
    //....
    //...altre variabili che salto...
    //...
    $notebar=mysql_real_escape_string($_POST['notebar']);
    $notebar=$_POST['notebar'];
    $notebar=str_replace("\\r\\n","\n ",$notebar);
    $notebar=str_replace("\\","",$notebar);

    // INIZIO INVIO E-M@IL
    error_reporting(E_ALL);

    // Genera un boundary
    $mail_boundary = "=_NextPart_" . md5(uniqid(time()));

    $to = "destinatario@mail.com";
    $subject = "Dettagli";
    $sender = "mittente@mail.com";

    $headers = "From: $sender\n";
    $headers .= "Reply-To:mittente@mail.com\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative;\n\tboundary=\"$mail_boundary\"\n";
    $headers .= "X-Mailer: PHP " . phpversion();

    // Costruisci il corpo del messaggio da inviare
    $msg = "This is a multi-part message in MIME format.\n\n";
    $msg .= "--$mail_boundary\n";
    $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $msg .= "Content-Transfer-Encoding: 8bit\n\n";
    $msg .= "
    Titolo: $film
    Ora: $ora

    Note:
    $notebar

    Mail inviata il ".date("d-m-Y H:i"); // aggiungi il messaggio in formato text

    // Boundary di terminazione multipart/alternative
    $msg .= "\n--$mail_boundary--\n";

    // Imposta il Return-Path (funziona solo su hosting Windows)
    ini_set("sendmail_from", $sender);

    // Invia il messaggio, il quinto parametro "-f$sender" imposta il Return-Path su hosting Linux
    if (mail($to, $subject, $msg, $headers, "-f$sender")) echo "Mail inviata correttamente";
    else echo "Mail non inviata";

  2. #2
    Se serve posto i caratteri che mi manda la mail...

  3. #3

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.