Form per mandare mail dal sito.

  • Creatore Discussione Creatore Discussione Mask84
  • Data di inizio Data di inizio

Mask84

Nuovo Utente
16 Nov 2009
21
0
0
Perugia
Salve a tutti, sono nuovo nel forum e così mi presento, scrivo da Perugia e ho 25 anni.

Sto realizzando un piccolo sito per un'Associazione Culturale e nella pagina contatti, vorrei mettere un semplice form per far scrivere le mail direttamente dal sito.

Il form deve essere il più semplice possibile, con i seguenti campi:

Nome e Cognome
Email
Testo

Uso dreamweaver, qual'è il modo più semplice per realizzarlo?

Ringraziandovi in anticipo, spero possa essere utile nel forum nei campi dove sono più ferrato.
 
Il modo più semplice e veloce è quello di cercare online dei moduli form già fatti.. ne trovi davvero tanti.

Tieni presente le varie estensioni da utilizzare in base al linguaggio supportato dal server del maintainer (PHP, ASP). Se ad esempio è ASP verifica se CDONTS o CDOSYS
 
ciao
Il modo più semplice e veloce è quello di cercare online dei moduli form già fatti.. ne trovi davvero tanti.
è vero, però spesso si fa prima a farseli che a modificarli per le proprie esigenze. soprattutto utilizzando dreamweaver.

poi se fai un sito, hai il dominio. secondo me faresti meglio ad inviare l'email a (es.) info@mio_dominio.it, in quanto (almeno con php) le caselle di libero.it sono le più rognose e spesso non ricevono email inviate tramite form dal sito (vedi vari post su questo forum)

poi X Zed Marlin:
per i poveri mortali,potresti specificare meglio cosa intendi con
è ASP verifica se CDONTS o CDOSYS
e se è php?
 
pronti...

Definizione di CDONTS
CDONTS è un componente COM che espone le interfacce oggetto seguente:

* L'oggetto NewMail
* L'oggetto Session

L'oggetto NewMail è l'oggetto utilizzato più di frequente.

CDONTS viene utilizzato principalmente dagli sviluppatori Web come thin client per indirizzi Web Form. La DLL per CDONTS, noto anche come cdonts.dll, viene installata con Microsoft Windows NT Option Pack 4. Inoltre è necessario installare il servizio SMTP. Windows NT Option Pack 4 viene installato con compatibilità per Microsoft Windows 2000. Tuttavia, si consiglia di CDO per Windows 2000 (CDOSYS) per il sistema operativo Windows 2000.

Funzionamento di CDONTS
Per dimostrare il funzionamento di CDONTS, utilizzare il seguente codice di esempio di ASP:

Codice:
Dim objMail
Set objMail = CreateObject("CDONTS.NewMail")
ObjMail.Send "yourmail@somewhere.com", "someone@somewhere.com", "Subject", "This is the body."
Set objMail = Nothing

di seguito è una descrizione sequenza di ciò che si verifica in questo esempio di codice:

1. Viene creato l'oggetto variabile objMail .
2. Viene creato l'oggetto CDONTS.NewMail , e quindi l'oggetto CDONTS.NewMail viene assegnato all'oggetto objMail variabile.
3. Il metodo Invia dell'oggetto NewMail è di esecuzione e di quindi passato all'indirizzo di posta elettronica da, all'indirizzo di posta elettronica A, per l'oggetto e per il corpo.
4. L'oggetto di variabile objMail viene eliminato tramite l'impostazione l'oggetto su Nothing .

Nota Quando viene individuato un problema di CDONTS, accertarsi che che il codice di esempio precedente funziona da una pagina ASP o da un file vbs. Se il codice non funziona, il problema non è un problema di codice. Il problema è probabilmente un problema di installazione del servizio SMTP.

Creazione di un oggetto NewMail
Quando si crea un oggetto NewMail , il processo Cerca nel Registro di sistema e quindi si trova il percorso del file cdonts.dll. Il percorso del file cdonts.dll viene recuperato dalla chiave InProcServer32 . L'oggetto NewMail creato e quindi inserire nella memoria.

Chiamare il metodo di invio
Quando si chiama il metodo Send , l'oggetto NewMail consente di accedere al metabase per determinare dove inserire il file di posta elettronica (con estensione eml). L'oggetto NewMail crea un messaggio di posta elettronica è basato sui campi impostati nell'oggetto NewMail e quindi l'oggetto NewMail scrive il file con estensione eml il percorso specificato nella metabase.

CDONTS è ora completata. La parte restante del processo viene completata dal servizio SMTP.



Il componente CDOSYS per l'invio delle e-mail, già presente sui sistemi operativi Microsoft Windows Server 2000 (anche se non esclusivo vista la contemporanea presenza del componente CDONTS), sul recente sistema operativo Microsoft Windows Server 2003 è l'unico componente preinstallato.
È essenziale pertanto imparare ad usarlo correttamente.
Codice:
<%
Dim iMsg, iConf, Flds

'Crea l'oggetto email
Set iMsg = CreateObject("CDO.Message")
'Crea l'oggetto configurazione
Set iConf = CreateObject("CDO.Configuration")
'Impostazione delle configurazioni per l'invio remoto
Set Flds = iConf.Fields
Flds("http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion") = True

'Spedizione: mittente, destinatario, oggetto, messaggio
mittente = "mittente@tuodominio.xx"
destinatario = "mittente@suodominio.zz"
oggetto = "Prova email"
messaggio = "Invio con CDOSYS"

With iMsg

'Assegnazione delle configurazioni
Set .Configuration = iConf

.From = mittente
.To = destinatario
.Subject = oggetto

'Formato HTML
.HTMLBody = messaggio
'Formato testo (scegliere)
.TextBody = messaggio

'Invio di una pagina web
.CreateMHTMLBody "http://www.novacomitalia.com/home/"

'Invio con allegato
.AddAttachment server.mappath("/public/test.txt")

'Invia l'email
.Send()

end with

set Flds = Nothing
set iConf = Nothing
set iMsg = Nothing
%>

Poi ci sono esempi fatti anche "in casa"
 
Ringrazio tutti e due per le risposte.
Ho dato uno sguardo ai moduli form gia fatti ma credevo che usando dreamweaver e il form fosse così riduttivo, il tutto risultasse più semplice.

Se qualcuno gia conosce un esempio semplice fatto con dreamweaver o ha altri suggerimenti, ringrazio...

Il dominio per il sito c'è, ma l'Associazione in questione, ha questa mail ospitata su libero da tanto.



Buona serata!
 
ciao
intanto grazie Zed (però è asp?).
--------------------------------
Il dominio per il sito c'è, ma l'Associazione in questione, ha questa mail ospitata su libero da tanto.

non vuol dire chi invia dal form del sito non vede (non dovrebbe) vedere a che indirizzo spedisce, l'associazione configurando (es.) il suo otlook può scaricarsi le email sia da libero che da mio_dominio, quindi non vedo il problema
 
Si, è ASP, purtroppo per un mio limite personale PHP lo conosco poco, quindi il contibuto che posso dare su questo si limita alla tecnologia Active Server Page, anche se non mi dispiacerebbe approfondire PHP.
 
ciao
dimenticavo, prendendo spunto dalla risposta di Zed, per inviare poi l'email cosa usi: php o asp? perche se è php posso darti una mano, asp no.
 
Php, Asp! :confused: Io sono ignorante in materia!!
Credevo che inserendo i moduli tramite dreamweaver bastasse poi con un piccolo codice dire dove doveva arrivare il messaggio... :(
 
Ti conviene decidere che modulo form utilizzare e costruire la tua pagina mantenendo la stessa estensione


Quello che ho fatto!

Ho messo due campi testo per 'nome e cognome' e per 'e-mail' , un area testo per il 'messaggio' e un bottone per 'invia'.
Ma come faccio a dirgli che una volta compilati questi dati dovranno arrivare alla mail dell'associzione? Questo è il punto.

Vi sto facendo perdere tempo mi sa... Chiedo venia.
 
Nessun problema ma mi sa che non ci stiamo capendo..

Facciamo un esempio:

Io un sito tutto in ASP, all'interno del quale ho costruito una pagina che si chiama contact.asp dove al suo interno ho inserito un form ASP che gestisce le email...

Questo è un discorso "che fila"

Tu riesci a farmi lo stesso esempio con la tua situazione precisa?
 
Nessun problema ma mi sa che non ci stiamo capendo..

Facciamo un esempio:

Io un sito tutto in ASP, all'interno del quale ho costruito una pagina che si chiama contact.asp dove al suo interno ho inserito un form ASP che gestisce le email...

Questo è un discorso "che fila"

Tu riesci a farmi lo stesso esempio con la tua situazione precisa?

Grazie per la pazienza e spero che ora riesci a capirmi...

Sto facendo un sito completamente in HTML, ho costruito una pagina che si chiama contatti.html e all'interno ho costruito un form tramite le funzioni di dreamweaver suddiviso in:

1- campo testo per far inserire NOME e COGNOME
2- campo testo per far inserire la MAIL
3- area testo per far inserire il MESSAGGIO
4- un bottone per farlo inviare

Come faccio per far si che, una volta inseriti i dati, il tutto mi arrivi a destinazione nella mail dell'associazione?
 
ciao
non basta il form in html, ma necessita anche un linquaggio dinamico tipo php o asp per processare ed inviare i dati.
se il form è semplice vedo di torvarne uno che ti possa andare bene.
cioè dimmi quali cose vuoi inviare
 
ciao
prova questo (al massimo alessandro1997 inorridirà)
salva la pagina con nome quello_che_vuoi.php (mi raccomando non togliere .php) e la carichi sul sito. la puoi lincare comunque come fai con le pagine htm ricordandoti sempre che finisce con .php

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>scrivici</title>
<!--qui puoi inserire i css ed eventuale javascript -->
</head>
<body>
<!-- inizio php processa ed invia email -->
<?php
/**********************************************************************
la parte tra <?php e ?> comprese, se funzia non ti conviene modificarla
a parte modificare l'indirizzo del destinatario
***********************************************************************/
//leggo che sia stato premuto il tasto di invio
if(isset($_POST['invia']) && $_POST['invia']== "invia"){
	/******************************************
	inizializzo alcune variabili che mi saranno
	utili in seguito
	*******************************************/
	$destinatario="mio_indirizzo@mio:indirizzo.it";//MODIFICARE inserendo l'indirizzo giusto
	$data = date("d.m.Y h:i:s A"); //legge la data e l'ora di invio
	$dasito= $_SERVER['HTTP_REFERER']; //legge il referrer
	$oggetto="messaggio da :";//può essere messo nel form
	$dati_corretti=TRUE;//metto una variabile al valore VERO
	//inizio a leggere i dati dal form
	$nome=trim($_POST['nome']);//leggo da input nome eliminando caratteri non stampabili ecc...
	$cognome=trim($_POST['cognome']);
	$email=trim($_POST['email']);
	$testo=strip_tags(trim($_POST['testo']),'<br>');//tolgo tutti gli eventuali tag escluso <br> per caso ci sia
	/****************************************************************
	faccio alcuni controlli per verificare che non venga
	inviata porcheria. secondo me sono il minimo indispensabile
	se il controllo non è superato metto la variabile $dati_corretti
	al valore FALSE
	*****************************************************************/
	if($nome=="" || !eregi("^([a-z0-9\.\-\ ]){1,40}$", $nome)){
		$dati_corretti=FALSE;//se non corretti metto a NON VERO
	}//fine if controllo nome
	if($cognome=="" || !eregi("^([a-z0-9\.\-\ ]){1,40}$", $cognome)){
		$dati_corretti=FALSE;
	}//fine if controllo cognome
	if($email=="" || !eregi("^([-a-z0-9\._]+)(@[-a-z0-9\._]+)(\.{1,2}[a-z0-9]{2,6})$", $email)){
		$dati_corretti=FALSE;
	}//fine if controllo email
	if($testo==""){
		$dati_corretti=FALSE;
	}//fine if controllo testo
	//verifico se dati corretti, se si preparo l'email e l'invio
	if($dati_corretti){// i dati sono corretti
		$oggetto .=$nome." ".$cognome;
		$messaggio =$testo."/n";
		$messaggio .= "--------------------------------------- /n";
		$messaggio .= "inviato il ".$data." /n";
		$messaggio .= "dal sito ".$dasito." /n";
		$intestazione ="rispondi a: ".$email." /n";
		if(mail($destinatario,$oggetto,$messaggio,$intestazione)){
			echo "<h1>email inviata con successo</h1><br>ti risponderemo quento prima";
			/*********************************************************************************
			la riga sotto serve per tornare alla pagina che vuoi
			dopo 3 secondi content='3....
			alla pagina che vuoi, basta ch tu cambi mia_pagina.htm con quello che ti interessa
			**********************************************************************************/
			echo "<meta http-equiv='Refresh' content='3; URL=mia_pagina.htm'>";// ... ritorna a form
		}else{
			echo "<h1>errore di trasmissione</h1><br>riprova più tardi";
			echo "<meta http-equiv='Refresh' content='3; URL=mia_pagina.htm'>";// ... ritorna a form
		}
	}else{//ci sono delle porcherie
		echo "<h1>il form non è stato riempito correttamente</h1><br>riscrivi";
		/*************************************
		la riga sotto riporta al form ripulito
		**************************************/
		echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";// ... ritorna a form
	}//fine if else dati corretti
}//fine if controllo submit
?>
<!-- fine php processa ed invia email -->
<!--qui puoi inserire altra parte html -->
<!-- inizio form -->
<form action="<?php htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<table width="700" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td width="85">&nbsp;</td>
    <td width="485">&nbsp;</td>
    <td width="110">&nbsp;</td>
  </tr>
  <tr valign="top">
    <td>nome</td>
    <td><input name="nome" type="text" id="nome" size="40"></td>
    <td>*</td>
  </tr>
  <tr valign="top">
    <td>cognome</td>
    <td><input name="cognome" type="text" id="cognome" size="40"></td>
    <td>*</td>
  </tr>
  <tr valign="top">
    <td>email</td>
    <td><input name="email" type="text" id="email" size="40"></td>
    <td>*</td>
  </tr>
  <tr valign="top">
    <td>testo</td>
    <td><textarea name="textarea" cols="80" rows="10"></textarea></td>
    <td>*</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>* campi obbligatori </td>
    <td><input name="invia" type="submit" id="invia" value="invia"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><input type="reset" name="Submit" value="reset"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>
<!-- fine form -->
<!--qui puoi inserire altra parte html -->
</body>
</html>
se non funzia fammelo sapere, puo darsi (facile) che abbia fatto qualche orrore.

a te metterla a posto in modo che sia presentabile
 

Discussioni simili