> We hired a developer about a year ago to develop a
> web based email system for us in php. The developer
> is no longer around, so I am having to pick up
> the development on the project...When clicking
> on the attachment link of an email in Internet
> Explorer 5.5 in Windows 98, I get the save as dialog
> and when I select ok, it tries to save the html
> page. If I right click and do save target as, it
> gets the correct file. This all works correctly in
> IE 5.0 and Netscape 4.76, and what's weird is that
> it even works as expected in IE 5.5 running on Win2k.
> Can anyone offer any suggestions? I'll be glad to send
> any code snipplets, or info if anyone can clue me in...
>
> Jack Davis
> Network Admin
> Bootheel Internet Services

I built this a few months ago to handle mail merges with a fixed defied
attachment and it seems to work for most email readers I have tried.  It is
supposed to handle text email clients and MIME clients as well as per the
RFC's (It was templated from an outgoing email attachment from Microsoft
Outlook so it will probably screw something up somewhere).

The site variable is a class variable from an included file that contains
all sorts of default stuff.
class SITE {
  var $mail_from = "[EMAIL PROTECTED]";
  var $mail_reply_to = "[EMAIL PROTECTED]";
} // END SITE CLASS

The get page function
  function get_page($page_name="") {
    $return="";
    if (file_exists($page_name))

      $fp = fopen("$page_name","r");
      $return .= fread($fp, filesize($page_name));
      fclose($fp);
    }
    return $return;
  }

The logger function is just a thing thats adds a record to a mysql table to
record the event for later use by my contact management/list procesing
system.

  function
mail_it($subject,$mail_message,$mail_to="[EMAIL PROTECTED]",$mail_
attachment="",$from="",$reply_to="") {
    global $site;
    if ($from) { $mail_from="From:$from"; } else
 $mail_from="From:".$site->mail_from; }
    if ($reply_to) { $mail_reply_to="Reply-To:$reply_to"; } else
 $mail_reply_to="Reply-To:".$site->mail_reply_to; }

    $rand=md5(rand());
    $boundary="----=_NextPart_000_$rand";
    $boundary2="----=_NextPart_001_$rand";
    $mail_headers = "$mail_from\n$mail_reply_to\n";
    $mail_headers .= "Content-Type: multipart/mixed;\n
boundary=\"$boundary\"";
    $mail_headers .= "\nX-Priority: 3 (Normal)\nX-Mailer: Walters And
Associates WCDS, Build 1.01\nImportance: Normal";
    $mail_body = "";
    $mail_body .= "  This message is in MIME format.  The first part
should";
    $mail_body .= "be readable text,\n  while the remaining parts are";
    $mail_body .= "likely unreadable without MIME-aware tools.\n  Send
mail";
    $mail_body .= "to [EMAIL PROTECTED] for more information.\n";
    $mail_body .= "\n";
    $mail_body .= "--".$boundary;
    $mail_body .= "\n";
    $mail_body .= "Content-Type: multipart/alternative;\n
boundary=\"$boundary2\"\n";
    $mail_body .= "\n";
    $mail_body .= "\n";
    $mail_body .= "--".$boundary2."\n";
    $mail_body .= "Content-Type: text/plain;\n
charset=\"iso-8859-1\"\n";
    $mail_body .= "Content-Transfer-Encoding: 7bit\n";
    $mail_body .= "\n";
    $mail_body .= strip_tags($mail_message)."\n";
    $mail_body .= "\n";
    $mail_body .= "\n";
    $mail_body .= "--".$boundary2."\n";
    $mail_body .= "Content-Type: text/html;\n
charset=\"iso-8859-1\"\n";
    $mail_body .= "Content-Transfer-Encoding: quoted-printable\n";
    $mail_body .= "\n";
    $mail_body .= "$mail_message\n";
    $mail_body .= "\n";
    $mail_body .= "--".$boundary2."--\n";
    $mail_body .= "\n";

    if ($mail_attachment<>"") {
      $content = get_page($mail_attachment);
      if ($content) {
        $mail_body .= "--".$boundary."\n";
        $mail_body .= "Content-Type: application/octet-stream\n";
        $mail_body .= "        name=\"".basename($mail_attachment)."\"\n";
        $mail_body .= "Content-Transfer-Encoding: base64\n";
        $mail_body .= "Content-Description: \"Mail Attachment\"\n";
        $mail_body .= "Content-Disposition: attachment;\n";
        $mail_body .= "
filename=\"".basename($mail_attachment)."\"\n";
        $mail_body .= "\n";
        $mail_body .= base64_encode($content)."\n\n";
      }
    }
    $mail_body .= "--".$boundary."--\n";

    if (mail($mail_to,"$subject",$mail_body,$mail_headers)) {
      logger(1,"Mail Success","$subject To $mail_to",$mail_message);
      return TRUE;
    } else {
      logger(9,"Mail Failure",$mail_to,$mail_body);
      return FALSE;
    }
  }


Hope this Helps.

Regards

Grant Walters
Brainbench 'Most Valuable Professional' for Unix Admin
Walters & Associates, P O Box 13-043 Johnsonville, Wellington, NEW ZEALAND
Telephone: +64 4 4765175, CellPhone 025488265, ICQ# 23511989


-- 
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]

Reply via email to