Attach sendes kun i brødtekst
$boundary = uniqid("");$mimeType = "application/unknown";
$fil_var = fread(fopen($path."chocker/say$ord.dat", "r"), filesize($path."chocker/say$ord.dat"));
echo $fil_var; // Kontrol... FInder den filen?
$fil_var = base64_encode($fil_var);
$fil_var = chunk_split($fil_var);
$body = "\n--$boundary\n";
$body .= "Content-type: text/plain; charset=iso-8859-1\n";
$body .= "Content-transfer-encoding: 8bit\n\n";
$body .= $str."\n\n"; //
$body .= "--$boundary\n";
$body .= "Content-type: $mimeType; name=".$path."chocker/say$ord.dat"."\n";
// Fortæller at vi vil have filen hæftet ved - ikke direkte i mailen.
// Vil du gerne have den direkte i mailen, ændres 'attachment' til 'inline'
// Bemærk: Bl.a. OE viser _også_ filen i selve mailen selvom du angiver 'attachment'
$body .= "Content-disposition: attachment; filename=".$path."chocker/say$ord.dat"."\n";
$body .= "Content-transfer-encoding: base64\n\n";
$body .= $fil_var."\n\n";
$body .= "--$boundary--";
// Vi definerer from-headeren
$headers = "From: ".requestsetting("shopshort").":".requestsetting("shopemail")."\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
// Hvis mailen bliver sendt afsted problemfrit
if (mail(requestsetting("shopemail"), requestsetting("shopshort"), $body, $headers)) {
echo "Mailen er sendt!";
unlink($path."Chocker/say$ord.dat"); // filen er afsendt. Derfor slettes den fra serveren.
// Hvis ikke skriver vi lige en fejlmeddelelse
} else {
echo "Der opstod en fejl, og mailen blev ikke sendt!";
}
Jeg laver en eller anden banal fejl, men jeg kan ikke se den selv.
Jeg har oprettet en dynamisk fil (say$ord.dat = f.x. SAY1.dat) der skal sendes til mig (SHOPEMAIL). Jeg får alle mails som jeg skal, og i brødteksten står der det der skal. Men altså ingen vedhæftning.
http://php.delfs.dk/articles/danish/Haeft_filer_ved_mails.html
Herfra har jeg fået ovenstående, men det har jeg skullet lave om for at få det til at passet til mine sager...
Nogle bud?
:-)