[PHP] How to attach files with mail

2001-01-22 Thread Usman Ghani

Hello

I am a new user of PHP. I hope that you guys would welcome me to this community. I am 
stuck on a problem that how to attach files with mail, when you are using mail( ) of 
PHP.
If attachment is not possible using mail( ) then kindly let me know if there is any 
other function to send mails, in PHP which can serve this purpose.

Waiting for reply.
regards

Usman



Re: [PHP] How to attach files with mail

2001-01-22 Thread mick

G'day Usman:

I just happened to have this handy ... the attachment is a mime mail class
by Schumann/Ratschiller that I know works. Requires only minor changes if
any. Good luck.

Michael Hall

On Mon, 22 Jan 2001, Usman Ghani wrote:

 Hello
 
 I am a new user of PHP. I hope that you guys would welcome me to this community. I 
am stuck on a problem that how to attach files with mail, when you are using mail( ) 
of PHP.
 If attachment is not possible using mail( ) then kindly let me know if there is any 
other function to send mails, in PHP which can serve this purpose.
 
 Waiting for reply.
 regards
 
 Usman
 


   ?
   /*
*  Class mime_mail
*  Original implementation by Sascha Schumann [EMAIL PROTECTED]
*  Modified by Tobias Ratschiller [EMAIL PROTECTED]:
*  - General code clean-up
*  - separate body- and from-property
*  - killed some mostly un-necessary stuff
*/
   
   class mime_mail
{
var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;
 /*
 * void mime_mail()
 * class constructor
 */
function mime_mail()
 {
 $this-parts = array();
 $this-to =  "";
 $this-from =  "";
 $this-subject =  "";
 $this-body =  "";
 $this-headers =  "";
 }
 /*
 * void add_attachment(string message, [string name], [string cty
   pe])
 * Add an attachment to the mail object
 */
function add_attachment($message, $name =  "", $ctype =
   "application/octet-stream")
 {
 $this-parts[] = array (
  "ctype" = $ctype,
  "message" = $message,
  "encode" = $encode,
  "name" = $name
 );
 }
   /*
*  void build_message(array part=
*  Build message parts of an multipart mail
*/
   function build_message($part)
{
$message = $part[ "message"];
$message = chunk_split(base64_encode($message));
$encoding =  "base64";
return  "Content-Type: ".$part[ "ctype"].
   ($part[ "name"]? "; name = \"".$part[ "name"].
   "\"" :  "").
   
   "\nContent-Transfer-Encoding: $encoding\n\n$message\n";
}
   /*
*  void build_multipart()
*  Build a multipart mail
*/
   function build_multipart()
{
$boundary =  "b".md5(uniqid(time()));
$multipart =
   "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME
encoded message.\n\n--$boundary";
for($i = sizeof($this-parts)-1; $i = 0; $i--)
   {
   $multipart .=  "\n".$this-build_message($this-parts[$i]).
   "--$boundary";
   }
return $multipart.=  "--\n";
}
   /*
*  void send()
*  Send the mail (last class-function to be called)
*/
   function send()
{
$mime =  "";
if (!empty($this-from))
   $mime .=  "From: ".$this-from. "\n";
if (!empty($this-headers))
   $mime .= $this-headers. "\n";
   
if (!empty($this-body))
   $this-add_attachment($this-body,  "",  "text/plain");
$mime .=  "MIME-Version: 1.0\n".$this-build_multipart();
mail($this-to, $this-subject,  "", $mime);
}
   };  // end of class
   /*
* Example usage
*
   
$attachment = fread(fopen("test.jpg", "r"), filesize("test.jpg"));
$mail = new mime_mail();
$mail-from = "[EMAIL PROTECTED]";
$mail-headers = "Errors-To: [EMAIL PROTECTED]";
$mail-to = "[EMAIL PROTECTED]";
$mail-subject = "Testing...";
$mail-body = "This is just a test.";
$mail-add_attachment("$attachment", "test.jpg", "image/jpeg");
$mail-send();
   
*/
   ?


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]


Re: [PHP] How to attach files with mail

2001-01-22 Thread Ernest E Vogelsinger

At 11:32 22.01.2001, Nicolas Windpassinger - Sun said:
[snip]
And the files do exist !!! I checked them !

So my question is: 
--
how can we open and read the files locally, and not have this error come
each time...
[snip] 

Have you checked the rights the PHP-User has on the directory and file?

 ...ebird

   O Ernest E. Vogelsinger
   (\)http://www.1-at-web.at/
^ ICQ#   13394035


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]