PHP script om file te laten mailen.

Plaats reactie
on4bam
Elite Poster
Elite Poster
Berichten: 4340
Lid geworden op: 05 mei 2006, 16:05
Uitgedeelde bedankjes: 249 keer
Bedankt: 331 keer

Hi,

Op de website van onze club wordt een diploma voorgesteld. Om de voorwaarden en het applicatieformulier te verkrijgen werd tot nu toe gewerkt met een link die een e-mail stuurt met bepaald subject. Deze mail wordt door een autoreponder verwerkt en stuurt de betreffende file naar de aanvrager. Op deze manier kunnen we zien wie de files vraagt. Deze procedure maakt gebruik van mijn hosting en niet van de hosting van de clubsite.

Na problemen met mijn hosting heb ik nu een nieuwe hster en de autoreponder laat daar niet meer toe om attachments te sturen dus dacht ik om het robleem aan te pakken door middel van een PHPscript (enige mogelijke scripttaal bij de clubhosting).

We willen een script waar je je e-mailadres invult waarna het script naar dit adres een file stuurt en aan een clubadres laat weten door wie de file gevraagd werd. Indien mogelijk met een extra veiligheid (captcha)

De scripts die ik al vond doen allemaal veel meer, vragen meer input en sturen geen extra melding naar de eigenaar.

Iemand een idee waar ik zo'n simpel script kan vinden of een goede bron om eventueel zelf zoiets in elkaar te boksen?

Alvast bedankt.
Bye, Maurice
https://on4bam.com
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Het probleem met bijlagen sturen via mail is dat deze encoded moeten worden. Mail is namelijk eigenlijk niet geschikt voor het sturen van binaire bestanden. Deze moeten eerst "7-bit safe" gemaakt worden. Gekende manieren zijn UUencode en tegenwoordig het standaard mime-encoding. Je kan dat manueel doen (er zijn php-functies die dat voor jou kunnen doen), maar handiger is het gebruik maken van volgende php-klasse:
http://www.phpclasses.org/browse/file/919.html
In plaats van de traditionele mail()-functie zal je je mail via deze klasse moeten opbouwen. Geen schrik, het is eigenlijk eenvoudiger dan de mail()-functie ;).
Het grote voordeel in jouw geval is dat je simpelweg met AddAttachment() bestanden kan toevoegen.
Een klein scriptje om te mailen ziet er dan zo uit:

Code: Selecteer alles

$mail->From = $_POST['Email'];
$mail->FromName = $_POST['Voornaam'] ." ". $_POST['Achternaam'];
$mail->AddAddress("[email protected]");
$mail->AddBCC("[email protected]");

$mail->AddAttachment('/pad/naar/file.pdf", 'example.pdf');
$mail->IsHTML(true); 
$mail->Subject = "Voorbeeldmail";
$mail->Body    = "<p>Bedankt voor uw aanvraag.</p>";
if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}
Plaats reactie

Terug naar “Development”