Hallo,
ik heb een php script waarbij een pdf als e-mail bijlage moet worden verstuurd. Dit lukt 100% goed op mijn windows test server (IIS).
Maar zodra ik hetzelfde wil doen op een linux webserver (RaspberryPI) met Apache dan krijg ik de mail met heleboel tekens in de mail.
Ik zal de hele pagina besparen en alleen de mail routine vermelden.
<?php
// email fields: to, from, subject, and so on
$message = $bericht;
$from_name = "factuur ".$invoice_number;
$header = "From: ".$from_name." <".$email_from.">\r\n";
// boundary
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$header .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
// multipart boundary
$message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n";
$message .= "--{$mime_boundary}\n";
// preparing attachments
$data = chunk_split(base64_encode(file_get_contents($attach_file)));
$message .= "Content-Type: {\"application/octet-stream\"};\n name=\"".$invoice_number.".pdf\"\nContent-Disposition: attachment;\n filename=\"".$invoice_number.".pdf\"\nContent-Transfer-Encoding: base64\n\n" . $data . "\n\n";
$message .= "--{$mime_boundary}\n";
if(mail($email_invoice, "$subject", $message, $header)) {
print "<tr><td colspan='2'><br />You will receive a invoice email.</td></tr>\n";
} else {
print "<tr><td colspan='2'><br />There is a error sending the invoice email.</td></tr>\n";
}
?>
4.147 views