Qualcuno mi sa consiglîare un buon mail form?
Printable View
Qualcuno mi sa consiglîare un buon mail form?
Se ho capito bene vuoi del codice per madare una email, giusto?Citazione:
Originalmente inviato da Lando
Qui se vuoi c'č un esempio del codice usato sul mio sito:
Questa č la form da compilare per spedire il messaggio (da mettere in un file html)
E questo č il codice della pagina mymail.php cui fa riferimento l'action del form:Codice HTML:<form name="form1" method="get" action="mymail.php">
<input name="img" type="hidden" value="nomefile">
<table width="100%" border="0" cellpadding="0">
<tr>
<td class="outerText" ><div align="right">Email del destinatario (to) </div></td>
<th scope="col"> <div align="left">
<input name="mailDest" type="text" size="28">
</div></th>
</tr>
<tr>
<td class="outerText"><div align="right">Nome del destinatario (name) </div></td>
<td><input name="nomeDest" type="text" size="28"></td>
</tr>
<tr>
<td class="outerText"><div align="right">Email del mittente (from) </div></td>
<td><input name="mailMitt" type="text" size="28"></td>
</tr>
<tr>
<td class="outerText"><div align="right">Nome del mittente (name) </div></td>
<td><input name="nomeMitt" type="text" size="28"></td>
</tr>
<tr>
<td class="outerText"><div align="right">Testo (text) </div></td>
<td><textarea name="textMitt" rows="5"></textarea></td>
</tr>
<tr><td></td><td><input name="Invia" value="Invia" type="submit"></td></tr>
</table>
</form>
$msg č il corpo della mail che verrā spedita. Io uso email in formato html. Se vuoi farle testuali, basta cambiare il Content-Type in es plain/textCodice PHP:<?php
$ip = getenv("REMOTE_ADDR");
$nomeDest=$_GET['nomeDest'];
$mailDest=$_GET['mailDest'];
$nomeMitt=$_GET['nomeMitt'];
$mailMitt=$_GET['mailMitt'];
$textMitt=$_GET['textMitt'];
$pictMitt=$_GET['img'];
$somethingwrong=0;
$preg = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$";
if (!(preg_match("/$preg/", $mailDest) or !preg_match("/[a-zA-Z0-9]/", $mailDest)) or $mailDest=="")
{
$notice="\"Email del destinatario (to)\" non valida";
$somethingwrong=1;
}
else
{
if (!(preg_match("/$preg/", $mailMitt) or !preg_match("/[a-zA-Z0-9]/", $mailMitt) )or $mailMitt=="")
{
$notice= "\"Email del mittente (from)\" non valida";
$somethingwrong=1;
}
else
{
if ($nomeMitt=="" or $nomeDest=="")
{
$notice= "E necessario scivere i nomi (names required)";
$somethingwrong=1;
}
else
{
$msg="<html><body bgcolor=\"#DCF1FC\" align=\"center\" link=\"blue\" vlink=\"#440000\">
<font style=\"font-family: Arial; font-size: 15px; font-weight: bold; color: #00236A;\">
<img src=http://guidomarche.altervista.org/sito/graph/postcard.jpg>
<br>
Ciao $nomeDest! <a href=mailto:$mailMitt>$nomeMitt</a> ti ha mandato una cartolina dalla Valle Scrivia usando il
servizio offerto da <a href=\"http://guidomarche.altervista.org\">guidomarche.altervista.org</a>.
<br>
<hr size=1 height=1 color=#ADCADA>
</font><font style=\"font-family: Arial; font-size: 11px; font-weight: bold; color: #00236A;\">Questo č il testo del messaggio:</font><br><br>
<font style=\"font-family: Arial; font-size: 15px; font-weight: bold; color: #00236A;\">$textMitt<br><hr size=1 height=1 color=#ADCADA>
<a href= \"http://guidomarche.altervista.org/sito/vscrivia/graph/$pictMitt".".jpg\" target=_blank><img alt=\"Click for fullscreen\" border=0 height=480 width=640 src=\"http://guidomarche.altervista.org/sito/vscrivia/graph/$pictMitt".".jpg\"></a><hr size=1 height=1 color=#ADCADA>
Sender IP (report abuse): <a href=http://www.ripe.net/perl/whois?form_type=simple&searchtext=$ip>$ip</a></font><hr size=1 height=1 color=#ADCADA></body></html>
";
$from="From: Una cartolina per te! <guidomarche@altervista.org>\r\n";
$result = @mail($mailDest, 'Cartoline della Valle Scrivia', preg_replace("#(?<!\r)\n#s", "\n", $msg), "$from"."Content-Type: text/html;\r\n");
if ($result==1)
{
echo "<center><table class=inner width=60%><thead class=inner><tr><td>Riepilogo</td></tr></thead><tr><td class=menuText>";
echo "Inviato a: <h3>$nomeDest ($mailDest)</h3><br>Da: <h3>$nomeMitt ($mailMitt)</h3><br>Testo: <h3>$textMitt</h3><br>Foto: <h3>$pictMitt</h3><br>";
echo "Il tuo IP č stato mandato al destinatario insieme al messaggio: <h3>$ip</h3><br>";
echo "</td></tr></table></center>";
}
else echo "Errore imprevisto";
}
}
}
if ($somethingwrong==1)
{
echo "<div align=center class=outerText>ATTENZIONE!!! Non tutti i campi sono stati riempiti correttamente:</div><br>";
echo "<div align=center class=outerText>$notice</div><br>";
echo "<div align=center class=outerText><a href=javascript:history.back()>Indietro</a></div>";
}
?>
Se vuoi vedere come funziona, basta che tu vada sul mio sito, e dalle sezione delle fotografie tu provia spedire una cartolina.
Ciao
Grazie mille
Ci potresti mettere un form per gli allegati? :tongueOLD
Citazione:
Originalmente inviato da pokestudio
Con le mie conoscenze, gestire gli allegati in maniera completa č molto complesso... (a meno che non esistano funzioni php dedicate a questo, di cui non sono a conoscenza).
Se vuoi un esempio di codice "completo", nel forum del mio sito http://guidomarche.altervista.org/, sezione programmazione, ce n'č un esempio, scaricato da php.net e da me modificato.
Ciao.