ik zoek een php mailform
wat het dus goed doet met meerdere bijlages hadt her en der al wat gevonden
maar is blijkbaar verouderde rampzalige rommel combineren van een gewoon mailform en uit een bijlage form wil me niet lukken .
hadt deze op hotscripts gevonden
zel al wat aan gesleuteled
en deze op eehm weet niet meer
maar naadeel is dat je dus op moet geven waar het heen moet in plaats van wie het is toen ik dat omdraaide werkte hij ineens niet meer toen ik de bijlage cloonde ook niet
nou heb ik ooit een script omgebouwd dat naar en van dus invulbaar waren dat lukte me wel een tell a friend dus maar die heb ik maar uit de runing genomen geen antie spam erin. overigens zit dat hier ook niet in deze 2de bevalt me wel als iemand even kan helpen met hem multie bijlage te maken en even het van en naar omgedraaid kan krijgen.
ben ik ook al aardig tevreden want ben nu zowat 8 uur verder met zoeken en heb dus met google niks goed fatsoenlijks werkende gevonden op geen enkelde script site.
de grootste niet werken troep vondt ik dus alemaal wel
wat het dus goed doet met meerdere bijlages hadt her en der al wat gevonden
maar is blijkbaar verouderde rampzalige rommel combineren van een gewoon mailform en uit een bijlage form wil me niet lukken .
hadt deze op hotscripts gevonden
PHP:
<div align="center">
<?php
//mail formulier voor bijlage
$email ='info@disco-gids.nl';
//geneer boundary
DEFINE('bound',md5(uniqid(time())));
//check request method
if($_SERVER['REQUEST_METHOD'] == 'POST')
if($from == "" || $email == "" || $subject == "" || $file == "" || $bericht == "")
{
echo "<center><small><font face=\"Arial\">Gelieve alle velden correct in te vullen.<br><a href=\"javascript:history.back(-1)\">Probeer het opnieuw</a></font></small></center>";
}
elseif(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $email))
{
echo "<center><small><font face=\"Arial\">Gelieve een geldig e-mailadres in te vullen.<br><a href=\"javascript:history.back(-1)\">Probeer het opnieuw</a></font></small></center>";
}
else
{
//if file upload send with email as mixed
if(!empty($_FILES['file']['name']))
{
//check filesize
if($_FILES['file']['size'] < 1024*1024)
{
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
//email bestaat uit meerdere bestanden dus vertel wat de scheidings teken is en dat het een multipart is
$headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n";
//we zenden een attachment mee
$headers .= "Content-Disposition: attachment\r\n";
//readfile
$fp = fopen($_FILES['file']['tmp_name'],'r');
$bestand = fread($fp,$_FILES['file']['size']);
fclose($fp);
//create body
//generenen een body. Dit is een multi part gezeik
$body.= "This is a multi-part message in MIME format.\r\n";
$body.= "\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + charater set (iso in dit geval)
$body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
//codering (7 bit)
$body.= "Content-Transfer-Encoding: 7bit\r\n";
$body.= "\r\n";
//het bericht
$body.= $_POST['bericht'] ."\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + naam bestand (database.sql)
$body .= "Content-Type: application/octet-stream; name=".$_FILES['file']['name']."\r\n";
//codering
$body .= "Content-Transfer-Encoding: base64\r\n";
//als bijlage toegevoegd
$body.= "Content-disposition: attachment\r\n";
$body .= "\n";
//de inhoud van het bestand
$body .= chunk_split(base64_encode($bestand )) . "\r\n";
mail($email,$_POST['subject'],$body,$headers);
echo 'Email (Met een bijlage) is verzonden';
}
else
{
echo 'Bestands groote is te groot';
}
}
else
{
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$bericht = $_POST['bericht'];
mail($email,$_POST['subject'],$bericht,$headers);
echo 'Email (Zonder een bijlage) is verzonden';
}
}
else
{ "<div align=\"left\">";
//mail formulier je moet zelf het fomullier maken
echo "<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"POST\" enctype=\"multipart/form-data\">";
echo "Naam: <input type='text' name='from'><br>";
echo "Email:<input type='text' name='email'><br>";
echo "Onderwerp:<input type='text' name='subject'><br>";
echo "Bestand:<input type='file' name='file'><br>";
echo "Bericht:<textarea name='bericht'></textarea><br />";
echo "<input type=\"submit\" value=\"Verzenden\">";
"</div>";
}
?>
</div>
zel al wat aan gesleuteled
en deze op eehm weet niet meer
PHP:
// Dit script is eigendom van web-wizardz [[url]www.web-wizardz.nl][/url].
<?
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$max = "1500000"; // maximum grootte van het bestand
$van = "me@ww.nl"; //het e-mail adres van de webmaster
if (!empty($_FILES['bijlage']['name'])){
// als er een bestand is
if (filesize($_FILES['bijlage']['tmp_name']) > $max){
echo"Het bestand is groter dan ". $max ." bytes!";
echo"<br><a href=javascript:history.back()>Klik hier om terug te gaan</a>";
}else{
// het type van de bijlage achterhalen
$codering = (($_FILES['bijlage']['type'] == "text/plain") || ($_FILES['bijlage']['type'] == "text/html")) ? "8bit" : "base64";
// De bijlage controleren
$openen = @fopen($_FILES['bijlage']['tmp_name'],"r");
if (!$openen){
echo"Er is een probleem met de bijlage, probeer het a.u.b opnieuw.";
echo"<br><a href=javascript:history.back()>Klik hier om terug te gaan</a>";
}else{
// bijlage lezen
$inhoud= fread($openen,filesize($_FILES['bijlage']['tmp_name']));
// als de codering base46 is dan moet er worden gecodeerd
if ($codering == "base64"){
$inhoud = chunk_split(base64_encode($inhoud));
$boundry = strtoupper(md5(uniqid(time())));
$header = "From: " . $van . "\n";
$header .= "MIME-version: 1.0\n";
$header .= "Content-Type: multipart/mixed;\n";
$header .= "\tboundary= " . $boundry . "\n\n";
$header .= "--" . $boundry . "\n";
$header .= "Content-Type: text/plain;\n";
$header .= "\tcharset=\"iso-8859-1\"\n";
$header .= "Content-Transfer-Encoding: quoted-printable\n\n";
// het bericht toevoegen aan de mail
$header .= $_POST['bericht'] . "\n\n";
// nog wat headertjes toevoegen
$header .= "--" . $boundry . "\n";
$header .= "Content-Type: " . $_FILES['bijlage']['type'] . "\n";
$header .= "Content-Transfer-Encoding: " . $codering . "\n";
$header .= "Content-Disposition: attachment; filename=\"" . $_FILES['bijlage']['name'] . "\"\n\n";
// bijlage toevoegen
$header .= $inhoud . "\n\n";
$header .= "--" . $boundry . "--";
}
if (@mail($_POST['naar'],$_POST['onderwerp'],"",$header))
echo"De mail is succesvol verzonden!";
else
echo"de mail is niet verzonden, de fout is onbekend";
}
}
}else{
// er is geen bijlage toegevoegd, dus een plain/text mail sturen
$header = "From: " . $van . "\n";
$header .= "Content-Type: text/plain;\n";
$header .= "\tcharset=\"iso-8859-1\"\n";
$header .= "Content-Transfer-Encoding: quoted-printable\n\n";
// het bericht
$header .= $_POST['bericht'] . "\n\n";
if (@mail($_POST['naar'],$_POST['onderwerp'],"",$header))
echo"Mail sent!";
else
echo"Error sending email!";
}
}else{
echo'
<form enctype="multipart/form-data" action="'. $_SERVER['PHP_SELF'] .'" method="POST">
<table width="500" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>Naar:</td>
<td><input type="text" size="40" name="naar"></td>
</tr>
<tr>
<td>Onderwerp: </td>
<td><input type="text" size="40" name="onderwerp"> </td>
</tr>
<tr>
<td>Bericht:</td>
<td><textarea rows="8" cols="38" name="bericht"></textarea> </td>
</tr>
<tr>
<td>bijlage: </td>
<td><input type="file" name="bijlage">
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Verstuur" name="submit"></td>
</tr>
</table>
</form>';
}
?>
nou heb ik ooit een script omgebouwd dat naar en van dus invulbaar waren dat lukte me wel een tell a friend dus maar die heb ik maar uit de runing genomen geen antie spam erin. overigens zit dat hier ook niet in deze 2de bevalt me wel als iemand even kan helpen met hem multie bijlage te maken en even het van en naar omgedraaid kan krijgen.
ben ik ook al aardig tevreden want ben nu zowat 8 uur verder met zoeken en heb dus met google niks goed fatsoenlijks werkende gevonden op geen enkelde script site.
de grootste niet werken troep vondt ik dus alemaal wel
Laatst bewerkt door een moderator: