Hi,
I am using this script to send mime messages with attachment. It works fine except that the attachment in the mail is always an empty file!
I’ve tried other scripts but they have the same problem.
I’ve tried different smtp servers, same problem everywhere
I’ve pasted the script i’m using below
What could be the problem?
[code=php]
<?php
ini_set (SMTP, smtp.example.com);
ini_set (smtp, 25);
$fileatt = “background.gif”; // Path to the file
$fileatt_type = “application/octet-stream”; // File Type
$fileatt_name = “background.gif”; // Filename that will be used for the file as the attachment
$email_from = “[email protected]”; // Who the email is from
$email_subject = “test”; // The Subject of the email
$email_txt = “testmessage”; // Message that the email has in it
$email_to = “[email protected]”; // 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 .= “rnMIME-Version: 1.0rn” .
“Content-Type: multipart/mixed;rn” .
” boundary=”{$mime_boundary}””;
$email_message .= “This is a multi-part message in MIME format.rn” .
“–{$mime_boundary}rn” .
“Content-Type:text/html; charset=”iso-8859-1″rn” .
“Content-Transfer-Encoding: 7bitrn” .
$email_message . “rn”;
$data = chunk_split(base64_encode($data));
$email_message .= “–{$mime_boundary}rn” .
“Content-Type: {$fileatt_type};rn” .
” name=”{$fileatt_name}”rn” .
//”Content-Disposition: attachment;n” .
//” filename=”{$fileatt_name}”n” .
“Content-Transfer-Encoding: base64rn” .
$data . “rn” .
“–{$mime_boundary}–rn”;
$ok = mail($email_to, $email_subject, $email_message, $headers);
if($ok) {
echo “<font face=verdana size=2>The file was successfully sent!</font>”;
} else {
die(“Sorry but the email could not be sent. Please go back and try again!”);
}
?>