Hallo iedereen,

voortgaand op mijn vorige topic (waar ik dus problemen had om een mail met bijlage te verzenden) ben ik blijven zoeken naar een oplossing.
Dus heb ik op het internet onderstaande code gevonden (ik heb er niks aan veranderd). Blijkbaar loopt het mis bij het openen, controleren van het bestand want er lopen nu 2 foutmeldingen tegenaan:

Warning: filesize() [function.filesize]: stat failed for http://oli4tje.binhoster.com/Mailsysteem_ZWAT/Mailtesten/Downloads/Criterium.JPG in /home/u943035619/public_html/Mailsysteem_ZWAT/Mailtesten/testenvanmailfunctie.php on line 5

Warning: fread() [function.fread]: Length parameter must be greater than 0 in /home/u943035619/public_html/Mailsysteem_ZWAT/Mailtesten/testenvanmailfunctie.php on line 7

En het rare is dan dat deze link wel bestaat: Bijlage

<?php

function mail_attachment($filename, $path, $mailto, $from_mail, $from_name, $replyto, $subject, $message) {
$file = $path.$filename;
$file_size = filesize($file);
$handle = fopen($file, "r");
$content = fread($handle, $file_size);
fclose($handle);
$content = chunk_split(base64_encode($content));
$uid = md5(uniqid(time()));
$name = basename($file);
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$header .= $message."\r\n\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n"; // use different content types here
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$header .= $content."\r\n\r\n";
$header .= "--".$uid."--";
if (mail($mailto, $subject, "", $header)) {
echo "mail send ... OK"; // or use booleans here
} else {
echo "mail send ... ERROR!";
}
}


// Hier vanalles ingeven
$my_file = "Criterium.JPG";
$my_path = "http://oli4tje.binhoster.com/Mailsysteem_ZWAT/Mailtesten/Downloads/";
$my_name = "Olivier Peeters";
$my_mail = "[email protected]";
$my_replyto = "[email protected]";
$my_subject = "This is a mail with attachment.";
$my_message = "Hallo,\r\ndo you like this script? I hope it will help.\r\n\r\ngr. Olaf";
mail_attachment($my_file, $my_path, "[email protected]", $my_mail, $my_name, $my_replyto, $my_subject, $my_message);
?>

Wat loopt er mis?

Vriendelijke groeten,
Olivier
Waarom phpmailer of swiftmailer niet gebruiken?
En wat is er dan mis met je vorige topic, daar had je dit ook in kunnen posten.

En bent nog steeds ergens mee bezig waarvan het wiel allang is uitgevond! Implementeer: PHP Mailer of Swift mailer

1. dan gaat het attachen goed'
2. dan heb je ook 99.999999% correcte mailheaders

Jouw probleem is dat je je niet voldoende verdiept de materie.
Zie: http://www.php.net/filesize

int filesize ( string $filename )
filename
Path to the file

-> path to the file is geen url

en eigenlijk het belangrijkste wat ontbreekt is:
1. controles
2. foutafhandeling

en dan ook nog maar wijzen op: http://www.php.net/mail

als mail if (mail() === true) dan wil dat nog niet zeggen dat de mail goed verzonden is

Reageren