Hello all,
Thanks for reading this query.
I am trying to send a mail with attachment using PHP and am facing 2 problems with it.
I am trying to do something similar to this code I found on net :
**************************
**********
**********
**********
**********
**
$fileatt = "a.htm"; // Path to the file
$fileatt_type = "application/octet-stream"
; // File Type
$fileatt_name = "a.htm"; // Filename that will be used for the file as the attachment
$email_from = "kk"; // Who the email is from
$email_subject = "hi"; // The Subject of the email
$email_message = "hello"; // Message that the email has in it
$email_to = "abc@hotmail.com"; // Who the email is too
$headers = "From: ".$email_from;
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$s
emi_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";
/*************************
**********
**********
* First File **************************
**********
********/
$fileatt = "a.htm"; // Path to the file
$fileatt_type = "application/octet-stream"
; // File Type
$fileatt_name = "a.htm"; // Filename that will be used for the file as the attachment
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($file
att));
fclose($file);
$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";
unset($data)
unset($file)
unset($fileatt)
unset($fileatt_type)
unset($fileatt_name)
// To add more files just copy the file section again, but make sure they are all one after the other! If they are not it will not work!
$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!");
}
**************************
**********
**********
**********
*******
1) I am unable to have control over "from" address. How do I work about this? ie when teh mail reaches the person, the from address on the email is kk@servername.com?!?! Can I set my own from address?
2) When I use teh above code as a function which calls it from another function, I get an error at
"unset($file)"
stating that unexpected unset and stuff, however if I run the program by itself there are no errors.
Please advice. Your help is appreciated.
Thanks.
regards,
Karthik
Start Free Trial