Vai al contenuto

Formmail in php


Rax

Messaggi raccomandati

Salve a tutti!

Ho creato un piccolo form e-mail in php per poter ricevere posta direttamente dal mio sito web.

Il problema è che nel campo "mittente", devo personalmente inserire un indirizzo e-mail e, naturalmente, non può corrispondere al vero indirizzo del mittente.

Vi posto il codice. Vorrei che il campo "from" potesse risultare quello "vero" del mittente. Cosa devo aggiungere/modificare?

Grazie in anticipo.

<?php
// ************Inizio Configurazione***************
//Indirizzo emai a cui inviare i msg
$mailto = "ilmioindirizzo@xxx.xx";
//Oggetto della mail
$subject = "Modulo on-line iscrizione";
//Pagina da mostrare dopo l'invio
$redirect = "http://www.miosito.it/redirect.htm";
//Indirizzo email del mittente
$from = "From: [email]prova@prova.it[/email]";
// ************Fine Configurazione****************


foreach($HTTP_POST_VARS as $key => $value) {

$message .= $key . ': ' . $value;
$message .= "\n";

}
if (@mail($mailto, $subject, $message, $from)) {

header("Location: $redirect");
} else {
// Messaggio in caso di errore
echo('


Impossibile inviare. Torna nella pagina precedente e prova ancora,
grazie.</p>');
}
?>

M.C.

Link al commento
Condividi su altri siti

se ho capito bene quel che vuoi fare, vuoi fare in modo che ti si possa scrivere un'email tramite una tua pagina web.

la soluzione più semplice consiste secondo me nel chiedere al mittente stesso di inserire il suo indirizzo email in un campo di input del form a cui associare la variable "From" e rendere tale campo obbligatorio con un ulteriore controllo dello stesso php: se "$from" è vuota o non ha il formato di un indirizzo email (es. controllo sulla presenza dei caratteri '@' e '.' in posizioni diverse dal primo e dall'ultimo carattere e sul range di caratteri utilizzato) allora generi un messaggio di errore e blocchi l'invio.

un piccolo consiglio: per accedere alle variabili di una form, $HTTP_POST_VAR, anche se funziona, è un metodo in via di abbandono, è molto più semplice, flessibile e "future-proof" utilizzare gli array $_POST e $_GET :ciao:

Serve aiuto? Posso darti una mano in

Webmasters - Aiuto Software - Da Windows a Mac

Mappa Utenti ItaliaMac

[[miao]]

Link al commento
Condividi su altri siti

Sì, voglio che l'utente possa mandami un e-mail dal sito web.

I campi che ho, per ora, sono questi:

Nome:

Cognome:

E-mail:

Messaggio:

Vorrei poter ricevere l'email con l'indirizzo del mittente (quello inserito nel campo "e-mail" nel form sul sito)...

M.C.

Link al commento
Condividi su altri siti

Passa il valore del campo E-mail al parser php

nell'html:

<form action="formmail.php" method="post">

....

<input type="text" id="mittente" name="mittente" size="80" label="E-mail" />

....

nel php:

$sender = $_POST['mittente'];

....

if ($sender == "") {

// genera un messaggio di errore per mancanza del mittente ed esci

}

else $from = "From: ".$sender;

....

Serve aiuto? Posso darti una mano in

Webmasters - Aiuto Software - Da Windows a Mac

Mappa Utenti ItaliaMac

[[miao]]

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...