Geachte heren (en dames),
Ik probeer met php code een bestand aan te maken en deze vervolgens te versturen, het aanmaken lukt heel aardig maar bij het versturen gaat het helaas fout. In het verleden heb ik mijn xampp server'tje (op windows 7 machine) al mails laten versturen en dat ging heel aardig. Bij die mail zaten geen bijlagen. De eerlijkheid gebiedt mij te zeggen dat ik al diverse scripts heb 'geleend' van anderen en ze geprobeerd heb te begrijpen, maar dit wil niet helemaal lukken... Kortom; ik kom er niet helemaal uit. Is er iemand die mij kan helpen dit probleem op te lossen (of nog beter: mij verwijzen kan naar een pagina waar bijlagen met php versturen vanaf stap 0 wordt uitgelegd.
Bij voorbaat dank,
Niels
Voor de volledigheid ook nog even de code:
Ik probeer met php code een bestand aan te maken en deze vervolgens te versturen, het aanmaken lukt heel aardig maar bij het versturen gaat het helaas fout. In het verleden heb ik mijn xampp server'tje (op windows 7 machine) al mails laten versturen en dat ging heel aardig. Bij die mail zaten geen bijlagen. De eerlijkheid gebiedt mij te zeggen dat ik al diverse scripts heb 'geleend' van anderen en ze geprobeerd heb te begrijpen, maar dit wil niet helemaal lukken... Kortom; ik kom er niet helemaal uit. Is er iemand die mij kan helpen dit probleem op te lossen (of nog beter: mij verwijzen kan naar een pagina waar bijlagen met php versturen vanaf stap 0 wordt uitgelegd.
Bij voorbaat dank,
Niels
Voor de volledigheid ook nog even de code:
PHP:
<?php
require('fpdf.php');
/**
* @author Niels
* @copyright 2012
*/
if (!empty($_GET['action']))
{
if ($_GET['action'] = 'emailtickets')
{
##### MAAK BESTAND DEEL
$pdf = new FPDF();
[...maken van bestand dat $bestandsnaam.pdf gaat heten...]
$pdf->Output('tijdelijk/'.$bestandsnaam.'.pdf','F');
##### EMAIL DEEL
$fileatt = "tijdelijk/$bestandsnaam.pdf"; // Path to the file
$fileatt_type = "application/pdf"; // File Type
$fileatt_name = "Kaarten"; // Filename that will be used for the file as the attachment
$email_from = "test@test.nl"; // Who the email is from
$email_subject = "Uw bestelling"; // The Subject of the email
$email_message = "Hier een verhaal over hoe blij de ontvanger wel niet zou moeten zijn..."; // Message that the email has in it
$email_to = $_POST['email']; // Who the email is too
$headers = "From: $email_from";
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$email_message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message . "\n\n";
$data = chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
$ok = @mail($email_to, $email_subject, $email_message, $headers);
if($ok) {
echo "<font face=verdana size=2>The file was successfully sent!</font>";
} else {
error_reporting(E_ALL ^ E_NOTICE);
die("Sorry but the email could not be sent. Please go back and try again!");
}
}
}
else
{
[... andere dingen...]
?>