come si fa a fare in modo che quando un visitatore compila un form e che quando lo spedisce subito dopo gli arriva una e-mail scritta precedentemente da me? io non ne ho la più pallida idea!
come si fa a fare in modo che quando un visitatore compila un form e che quando lo spedisce subito dopo gli arriva una e-mail scritta precedentemente da me? io non ne ho la più pallida idea!
Questo post andrebbe in Plug-and-Pray cafè, ma ti rispondo lo stesso
Sai usare PHP?
vai su freephp-html.it e usa uno script in php
un po' si non sono un genio am qualche cosa di php ci capicso!Originalmente inviato da CoD
p.s.
non sapevo che dovevo postare in plung-and-pray cafè perchè non avevo idea che si potesse fare in php!
quello script è in html.it che al momento è in manutenzione! e non si può entrare nel sito! quindi non posso prelevarolo!Originalmente inviato da brione
Lo avevo immaginato :D infatti l'ho detto solo per ricordartelo
Allora, per spedire un'e-mail ti basta usare la funzione MAIL di PHP:
[code:1:5e59812ffc]
<?php
function MandaMail ($From, $Cc, $Bcc, $ReplyTo, $Subject, $Body ){
$headr = "From: $From\r\n";
$headr .= "cc: $Cc\r\n";
$headr .= "bcc: $Bcc\r\n";
if (empty($ReplyTo)) {
$headr .= "Reply-to: $From\r\n";
} else {
$headr .= "Reply-to: $ReplyTo\r\n";
}
if (@mail ($To, $Subject, $Body , $headr)) {
echo ("Mail spedita con successo\n</p>\n");
} else {
echo ("Mail non spedita\n</p>\n");
}
}
?>
[/code:1:5e59812ffc]
Come vedi questa funzioncina prende in entrata i parametri
From Cc Bcc ReplyTo Subject e Body e spedisce una mail.
Tieni presente tre cosette:
l'ho scritta a memoria, potrebbe non funzionare, in tal caso dimmelo che verifico
ALTERVISTA ha la possibilita' di spedire un numero limitato di mails al giorno: piu' utenti usano questa funzione, meno mail arriveranno (ma a te sembrera' di averla spedita: nessun messsaggio di errore)
Se non metti niente in ReplyTo verra' usato il campo From.
Spero ti possa essere utile
:D
[ot]ciao cod ma dove eri finito?[/ot]
Per le mail ogni utente di AV può spedire 300 mail a testa. però se usi la MailingList che ti dà av puoi spedire illimitate e-mail.
Scusa l'ignoranza ma l'e-mail che bisogna spedire io dove la srivo?Originalmente inviato da CoD
potresti modificare x me lo script (io di PHP nn ci capisco niente, uso solo gli script già fatti) in modo che:
L'email venga spedita non alla casella di AV, bensì ad una casella scelta da me (nn la scrivo xchè nn voglio ke si sappia)
Il soggetto lo scelga io
appia una pagina in cui controlla se tutti i campi sono compilati
se l'email vine inviata, rimandi ad una pagina a mia scelta
Spero di nn chiedere troppo...
Grazie
:D :D :D
Ciao Spywork: esami e progetto mascotte (sai quello di karlotto) e cosi' ho avuto pochissimo tempo.
Dove la scrivi? -ehm-
Metti il testo nella variabile $Body
Il soggetto in $Subject
L'indirizzo di partenza in $From
L'indirizzo a cui vuoi spedire in $To
CC e Bcc sono come nelle caselle normali.
ReplyTo e' opzionale.
Ci sei? :D
P.S. per SpyWork: Ah, dimenticavo: ho passato anche alcune nottate a scrivere un paio di funzioni per sostituire imagestring delle GD. Sono distrutto!!
per nienteeeeeeeeee!!!!!!!!!! io è quello alla fin fine che voglio!! e mi servirebbe lo stesso script! solo che in aggiunta devo scrivere anche il messaggio che poi viene spedito automaticamente!Originalmente inviato da asgl
il soggetto lo scegli gia' tuOriginalmente inviato da asgl
con casella di AV intendi l'indirizzo asgl@altervista.org? beh, cambia il campo from
per la pagina di controllo.... vedo di fare il possibile ma ora sono un pochino di fretta (sto tracciando un tizio che continua a cercare di attaccarmi e non ne posso piu' ) quanto tempo ho?
per rimandare ad una pagina a tua scelta non c'e' problema: dammi cinque minuti....
:D
ho letto il messaggio che hai postato! ma io non ho un indirizzo e-mail preciso! chi compila il form (naturalmente c'è un campo in cui deve inserire l'indirizzo e-mail) in poche parole la e-mail deve essere spedita all'indirizzo e-mail che è indicato nel capo! quindi lo script legge l'indirizzo e -mail e quando il visitatore clicca su invia per inviare il contenuto del modulo a me gli arriva una e-mail! Capito ora?Originalmente inviato da CoD
beh, fai una form con una casella di testo chiamata To dove l'utente mettera' il suo indirizzo email e passala con un POST allo script.
per spedire l'utente ad un pagina in cui si dice che la mail e' stat inviata sostituite:
echo ("Mail spedita con successo\n</p>\n");
con:
header ("Location: pagina.htm");
exit;
Ecco, invece, una form da cui spedire un'email completa:
[code:1:dd1798a4ed]
<FORM METHOD=post ACTION="sendmail.php">
<table>
<tr>
<td>
Da:
<br>
<INPUT TYPE=text NAME="From" size=50 >
</td>
</tr>
<tr>
<td>
A:
<br>
<INPUT TYPE=text NAME="To" size=50>
</td>
</tr>
<tr>
<td>
Indirizzo per la risposta (se lasciato vuoto varrà il campo Da):
<br>
<INPUT TYPE=text NAME="ReplyTo" size=50>
</td>
</tr>
<tr>
<td>
Cc:
<br>
<INPUT TYPE=text NAME="Cc" size=50>
</td>
</tr>
<tr>
<td>
Bcc:
<br>
<INPUT TYPE=text NAME="Bcc" size=50>
</td>
</tr>
<tr>
<td>
Oggetto:
<br>
<INPUT TYPE=text NAME="Subject" size=50>
</td>
</tr>
<tr>
<td>
Testo:
<br>
<Textarea NAME="Body" cols=43 rows=10></Textarea>
</td>
</tr>
</table>
<p><INPUT TYPE=submit VALUE=" Invia " ></p>
</FORM>
[/code:1:dd1798a4ed]
poi in sendmail.php:
[code:1:dd1798a4ed]
<?php
$headr = "From: $From\r\n";
$headr .= "cc: $Cc\r\n";
$headr .= "bcc: $Bcc\r\n";
if (empty($ReplyTo)) {
$headr .= "Reply-to: $From\r\n";
} else {
$headr .= "Reply-to: $ReplyTo\r\n";
}
if (@mail ($To, $Subject, $Body , $headr)) {
echo ("Mail spedita con successo\n</p>\n");
} else {
echo ("Mail non spedita\n</p>\n");
}
?>
[/code:1:dd1798a4ed]
[edit]
ora chiedo ad un mod di spostare questo topic in How-To o in Plug 'n' Pray
[/edit]
quando io clicco sul pulsante invia mi dice che non trova il fail sendmail.php io ho creato questo file! ma quando clicco su invia mi manda direttamente su quel file! e non mi spedisce nessuna e-mail perchè?
Hai creato sendmail.php minuscolo? Il server di AV e' un server Linux e fa differenza tra maisucole e minuscole.
Se no puo' essere che non hai messo <?php all'inizio di sendmail oppure... mmmh
Il codice dell'ultimo post e' diverso da quello con la funzione! Hai messo il codice dell'ultimo post in sendmail?
???
Ho provato: a me funziona!
L'unica cosa che c'e' sostituire in sendmail.php e'
if (@mail ($To, $Subject, $Body , $headr)) {
con
if (@mail ($To, $Subject, stripslashes ($Body) , $headr)) {
altrimenti prima di alcuni caratteri come l'apostrofo ti trovi uno slash.