Simple attachment mail script ver. 1.00

1 view
Skip to first unread message

zeesh...@gmail.com

unread,
Apr 5, 2007, 3:37:39 PM4/5/07
to phpguru
This example of a PHP mail function is created to send a plain text
mail with one attached file. The file has to be uploaded first or
should be an existing file on the server. Of course there are more
advanced scripts on the internet, but I hope this will help the
beginning PHP developer to build their first mail with an attachment
script. Please notice that inside the function is no validation
functionality.


<?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 diff. tyoes 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!";
}
}
// how to use
$my_file = "somefile.zip";
$my_path = $_SERVER['DOCUMENT_ROOT']."/your_path_here/";
$my_name = "Olaf Lederer";
$my_mail = "m...@mail.com";
$my_replyto = "my_re...@mail.net";
$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, "reci...@mail.org", $my_mail,
$my_name, $my_replyto, $my_subject, $my_message);
?>

code from url http://www.finalwebsites.com/snippets.php?id=36

Reply all
Reply to author
Forward
0 new messages