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 adavced scrips on the net but I hope this will help the beginning PHP developer to their first mail with an attachment. Please notice that inside the function is no validation done yet.
<?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
<?php
$my_file = "somefile.zip" ;
$my_path = $_SERVER [ 'DOCUMENT_ROOT' ]. "/your_path_here/" ;
$my_name = "Olaf Lederer" ;
$my_mail = "my@mail.com" ;
$my_replyto = "my_reply_to@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 , "recipient@mail.org" , $my_mail , $my_name , $my_replyto , $my_subject , $my_message );
?>
phpEasyMail: An easy way to send data from HTML-forms via EMail. Categories : Email , HTML and PHP , Complete Programs , PHP Three Cool Classes and One Trick Categories : PHP , PHP Classes , Graphics , Email Email a user with out exposing email address Categories : PHP , Databases , MySQL , Email PHP3: Formmail. Just a cgi formmail, but than in PHP. It is easy to use! Categories : HTML and PHP , Email , PHP , Perl , HTML and PHP POP3 Class Categories : PHP Classes , PHP , Email validateEmail 2.0 - upgraded version of the old validateEmail function used to validate email
addresses via SMTP and regex. Categories : Email , Regexps , PHP Sending email with random details Categories : PHP , Email , Debugging simple script to send emails via a html-form to different users Categories : Email , MySQL , PHP , Databases email validator check checker email e-mail email address Categories : PHP , Email , Regexps Broadcast HTML Email Categories : PHP , Email , MySQL , Databases Protect your email links from being spidered by spam email robots! Categories : PHP , Security , Mail , Email A class for sending email; it has support for To:, Cc:, Bcc: and Reply-To:
headers. It requires that you have sendmail installed. Categories : Email , PHP Classes , PHP Mail-lib provides a simple interface to the sendmail program. Note: you must actually have sendmail on your machine (sorry windows NT users). Categories : Algorithms , Email , PHP PHP MIME Decoder. This class decodes Mime Encoded email message.
Attachments are stored in a director. Works with Multipart/alternative,
multipart/mixed etc.
see http://p3mail.com for example. Categories : PHP , PHP Classes , Email A web-based php3 IMAP email client supporting address books, attachements (downloading and sending), LDAP searching, and much much more. Categories : Email , PHP , LDAP