Ave,

I created a form which can accept 2 file attachments and send an HTML
Email... Everything works great... The files even get attached and sent, the
ONLY problem is... The PDF file I'm sending attached open up empty! They are
all blank.. Like everything has been wiped off from them!!

Here's my code.. 

<form action=<?php echo $PHP_SELF ?> method=post
ENCTYPE="multipart/form-data" name="f1" id="f1" >
            <table>
              <tr>
                <td align="left" valign="middle" class="style13">From
(Name):</td>
                <td><input name=from_name type=text value="Gerson Bullock"
size="40"></td>
              </tr>
              <tr>
                <td align="left" valign="middle" class="style13">From
(Email):</td>
                <td><input name=from type=text
value="[EMAIL PROTECTED]" size="40"></td>
              </tr>
              <tr>
                <td align="left" valign="middle" class="style13">To
(First,Last):</td>
                <td><input name=to_nameF type=text id="to_nameF" size="15">
                <input name=to_nameL type=text id="to_nameL" size="15"></td>
              </tr>
              <tr>
                <td align="left" valign="middle" class="style13">To
(Email):</td>
                <td><input name=to type=text size="40"></td>
              </tr>
              <tr>
                <td align="left" valign="middle"
class="style13">Subject:</td>
                <td><input name=subject type=text value="Your Conversation
with Gerson Bullock" size="40"></td>
              </tr>
              <tr>
                <td align="left" valign="top" class="style13">Message:</td>
                <td><textarea name=message_html cols="35" rows="4">
                <b>Test Message</b>
                </textarea></td>
              </tr>
              <tr>
                <td align="left" valign="middle" class="style13">Attachment
1 </td>
                <td><input type=file name=file1></td>
              </tr>
              <tr>
                <td align="left" valign="middle" class="style13">Attachment
2 </td>
                <td><input type=file name=file2></td>
              </tr>
            </table>
            <input name="doSubmit" type=submit id="doSubmit" value=Send Mail
Mail>
          </form>

<?php
$message_html = stripslashes($message_html);
  $m = new CMIMEMail("$to_nameF $to_nameL <$to>","$from_name
<$from>",$subject);
             $m->mailbody($message_html, $message_html);
             if( $file1) {
                $m->attachFile_raw($file1,$file1_name,$file1_type);
             };
             if( $file2)
{$m->attachFile_raw($file2,$file2_name,$file2_type);};
             $m->send();
?>

<?php
/*
* $m = new CMIMEMail($to,$from,$subject);
* $m->mailbody("This is simply text","<html><body><h1>This is HTML
text</h1>");
* $m->attach("example.html","text/html",$filebody);
* $m->attachFile("resume.gif","image/gif");
* $m->send();
*/

class CMIMEMail {
 var $to;
 var $boundary;
 var $smtp_headers;
 var $filename_real;
 var $body_plain;
 var $body_html;
 var $atcmnt;
 var $atcmnt_type;
 
 function CMIMEMail($to,$from,$subject,$priority=3) {
   $this->to=$to; $this->from=$from;
   $this->subject=$subject; $this->priority=$priority;
   $this->boundary="----=_NextPart_".time()."_".md5(time())."_";
 }
 function  mailbody( $plain, $html="" ) {
   $this->body_plain=$plain;
   $this->body_html=$html;
 }
 function  attach( $name, $content_type, $data ) {
 }
 function  attachfile_raw( $fname, $mailFileName, $content_type ) {
   if([EMAIL PROTECTED]($fname,"r")) {
    $this->atcmnt[$mailFileName]=fread($f,filesize($fname));
    $this->atcmnt_type[$mailFileName]=$content_type;
    fclose($f);
  } 
 }
 function  attachfile( $fname, $content_type ) {
    attachfile_raw($fname,$fname,$content_type);
 }
 function  clear() {
   unset( $atcmnt );
   unset( $atcmnt_type );
 }
 function  makeheader() {
   $out ="From: ".$this->from."\n";
   $out.="Reply-To: ".$this->from."\n";
   $out.="MIME-Version: 1.0\n".
    "Content-Type: multipart/mixed;\n\t boundary=\"".$this->boundary."\"\n".
        "X-Priority: ".$this->priority."\n".
        "X-Mailer: phpMimeMail ( http://www.informed-sources.com/ )\n";
   return $out;
 }
 function  makebody() {
   $boundary2= "----=_NextAttachedPart_".time()."_".md5(time()+101)."_";
   $out="";
   if( " ".$this->body_html!=" " ) {
     $out="\nThis is a multi-part message in MIME format.\n\n";
     $out.="--".$this->boundary."\nContent-Type:
multipart/alternative;\n\tboundary=\"$boundary2\"\n";
     $out.="$body_plan\n".
       "--$boundary2\nContent-Type: text/plain\n".
#       "Content-Disposition: inline\n".
       "Content-Transfer-Encoding: quoted-printable\n\n".
       $this->body_plain.
       "\n\n--$boundary2\n".
       "Content-Type: text/html\n".
#       "Content-Disposition: attachment;\n\tfilename=\"message.html\"\n".
           "Conent-Transfer-Encoding: quoted-printable\n".
       "\n$this->body_html\n\n".
       "--$boundary2--\n";
   } else {
     $out="\n\n".$this->body_plain."\n\n";
     $out.="--".$this->boundary."\n".
    "Content-Type: text/plain\n".
    "Content-Transfer-Encoding: quoted-printable\n\n".
    $this->body_plain.
    "\n\n--".$this->boundary.
    "\n";
   }
   if( is_array( $this->atcmnt_type ) ) {
     reset( $this->atcmnt_type);
     while( list($name, $content_type) = each($this->atcmnt_type) ) {
       $out.="\n--".$this->boundary."\nContent-Type:
application/pdf\nContent-Transfer-Encoding: base64\nContent-Disposition:
attachment; filename=\"$name\"\n\n".
         chunk_split(base64_encode($this->atcmnt[$name]))."\n";
     }   
   }
   $out.="\n--".$this->boundary."--\n";
   return $out;
 }
 function  send(){
   mail( $this->to, $this->subject, $this->makebody(),$this->makeheader() );
   echo "<b><i><small><Mail Sent Successfully</b></i></small>";
 }
}

?>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to