Visualizzazione dei risultati da 1 a 4 su 4

Discussione: invio e-mail

  1. #1

    invio e-mail

    buon pomeriggio a tutti

    vorrei sapere se fosse possibile inviare un e-mail da un sito senza avere a disposizione un database.

    Mi spiego meglio mettiamo caso abbia una pagina del sito contatti con il seguente codice.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    <?php
    define("_destinatario","nome@dominio.it");
    define("errore_oggetto_predefinito","Non ha inserito un oggetto!");
    define("errore_email_predefinito","L'indirizzo email che ha inserito non è corretto!");
    define("errore_messaggio_predefinito","Il messaggio è vuoto!");
    define("segnaposto_oggetto","Inserisca un oggetto");
    define("segnaposto_email","Inserisca la Sua email");
    define("segnaposto_messaggio","Inserisca il Suo messaggio");
    function generaModulo($oggetto=segnaposto_oggetto,$email=se gnaposto_email,$messaggio=segnaposto_messaggio,$er rore_oggetto="",$errore_email="",$errore_messaggio =""){
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="form1">



    Per ricevere informazioni e preventivi potete compliare la form sottostante. Invieremo al pi&ugrave; presto una risposta.</p>
    <table>
    <tr>
    <td>Il Suo indirizzo e-mail*</td>
    <td><label>
    <?php if (!$errore_email=="") { echo"<span>$errore_email</span>";} else { echo"";}?>

    <input name="email" type="text" id="mail" value="<?php echo $email;?>" />
    </label></td>
    </tr>
    <tr>
    <td>Oggetto*</td>
    <td><label>
    <?php if (!$errore_oggetto=="") { echo"<span>$errore_oggetto</span>";} else { echo"";}?>

    <input name="oggetto" type="text" id="oggetto" value="<?php echo $oggetto;?>" />
    </label></td>
    </tr>
    <tr>
    <td>Messaggio*</td>
    <td>
    <?php if (!$errore_messaggio=="") { echo"<span>$errore_messaggio</span>";} else { echo"";}?>

    <textarea name="messaggio" cols="30" rows="5" id="messaggio" ><?php echo $messaggio;?></textarea>
    </td>
    </tr>
    <tr>
    <td><label>*I campi sono obbligatori

    </label></td>
    <td><label>
    <input type="submit" value="Invia il modulo" name="bottone_invio" /> <input type="reset" name="cancella" id="cancella" value="Ripristina" />
    </label></td>
    </tr>
    </table>

    </form>
    <?php
    }
    function isValidEmail($email){
    $pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";

    if (eregi($pattern, $email)){
    return true;
    }
    else {
    return false;
    }
    }

    function controlla($stringa,$lunghezza){
    if (strlen($stringa)<$lunghezza){
    return true;
    }
    else {
    return false;
    }
    }

    ?>
    <?php if (!isset($_POST['bottone_invio'])) {
    generaModulo();
    } else {
    $oggetto = isset($_POST['oggetto']) ? stripslashes ($_POST['oggetto']) : "";
    $email = isset($_POST['email']) ? stripslashes ($_POST['email']) : "";
    $messaggio = isset($_POST['messaggio']) ? stripslashes ($_POST['messaggio']) : "";


    $error = false;
    $errore_oggetto = '';
    $errore_email = '';
    $errore_messaggio = '';

    if (controlla($oggetto,1) or ($oggetto==segnaposto_oggetto)) {
    $error = true;
    $errore_oggetto = errore_oggetto_predefinito;
    }


    if (!isValidEmail($email)){
    $error = true;
    $errore_email = errore_email_predefinito;
    }
    if ((controlla($messaggio,1)) or ($messaggio==segnaposto_messaggio)) {
    $error = true;
    $errore_messaggio = errore_messaggio_predefinito;
    }

    if ($error){
    generaModulo($oggetto,$email,$messaggio,$errore_og getto,$errore_email,$errore_messaggio);
    }
    else {
    ?>



    Ha inserito i seguenti dati:



    Oggetto: <?php echo $oggetto ?>


    Email: <?php echo $email ?>


    Messaggio: <?php echo $messaggio ?>


    </p>
    <?php
    if ($telefono == segnaposto_telefono) $telefono="-";
    mail(_destinatario,"contatto dal tuo sito","Oggetto: $oggetto\nEmail: $email\nMessaggio:$messaggio","From:$email");
    echo"

    Grazie per aver inviato il messaggio</p>";?>
    <?php } }

    ?>

    </body>
    </html>


    grazie a tutti

  2. #2
    Un database non è necessario per inviare una mail. Piuttosto è necessario un server di posta.
    =======================
    http://www.abidibo.net

  3. #3
    scusa

    ma come faccio da un sito tramite un form a mandare un commento con altri campi

    di cosa ho bisogno.

    Il server di posta me lo devo fare oppure quando affitto uno spazio web è disponibile.

  4. #4
    Non ho ben capito cosa intendi comunque...

    1 - crei il form con i vari campi che vuoi fare compilare
    2 - nella action del form leggi i vari campi e crei il testo che vuoi inviare per mail. Chiaramente puoi anche aggiungere altre cose, per esempio testi che stanno sul db e stringhe statiche inserite nel codice, che so ad esempio
    codice:
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $query = "SELECT title, link FROM pages WHERE id='2'";
    $res = mysql_query($query);
    if($res) {
    	while($row = mysql_fetch_assoc($res)) {
    		$title = $row['title'];
                    $link = $row['link'];
    	}
    	mysql_free_result($res);
    }
    $subject = "Ecco il link all'articolo richiesto";
    $object = "Gentile $firstname $lastname, l'articolo $title è visionabile al seguente indirizzo $link";
    $to = "email@invio.it";
    $from = "From: noreply@boh.it";
    mail($to, $subject, $object, $from);
    Chiaramente ho omesso goni tipo di controllo e filtro dei dati da implementare assolutamente.
    Penso che quasi tutti i servizi di hosting che forniscano un linguaggio di scriptingdispongano anche di un server mail per l'invio di posta elettronica. Inoltre lo trovi già configurato, quindi chiamando la funzione mail del php il tutto dovrebbe funzionare.
    Ciao!
    =======================
    http://www.abidibo.net

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 © 2024 vBulletin Solutions, Inc. All rights reserved.