All pastes #756402 Raw Edit

Someone

public php v1 · immutable
#756402 ·published 2007-10-31 13:50 UTC
rendered paste body
<?php//Use is..$attachments[0]["file"] = "file.doc";$attachments[0]["content_type"] = "msword";send_mail("toaddr@email.com", "I AM THE EMAIL MESSAGE", "I AM teh Subject!", "fromaddr@email.com", "From Name (ie Donan)", $attachments);//Copy and pasted from another place, ftw:function send_mail($to, $body, $subject, $fromaddress, $fromname, $attachments=false){  $eol="\r\n";  $mime_boundary=md5(time());  # Common Headers  $headers .= "From: ".$fromname."<".$fromaddress.">".$eol;  $headers .= "Reply-To: ".$fromname."<".$fromaddress.">".$eol;  $headers .= "Return-Path: ".$fromname."<".$fromaddress.">".$eol;    // these two to set reply address  $headers .= "Message-ID: <".time()."-".$fromaddress.">".$eol;  $headers .= "X-Mailer: PHP v".phpversion().$eol;          // These two to help avoid spam-filters  # Boundry for marking the split & Multitype Headers  $headers .= 'MIME-Version: 1.0'.$eol.$eol;  $headers .= "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"".$eol.$eol;  # Open the first part of the mail  $msg = "--".$mime_boundary.$eol;   $htmlalt_mime_boundary = $mime_boundary."_htmlalt"; //we must define a different MIME boundary for this section  # Setup for text OR html -  $msg .= "Content-Type: multipart/alternative; boundary=\"".$htmlalt_mime_boundary."\"".$eol.$eol;  # Text Version  $msg .= "--".$htmlalt_mime_boundary.$eol;  $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;  $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;  $msg .= strip_tags(str_replace("<br>", "\n", substr($body, (strpos($body, "<body>")+6)))).$eol.$eol;  # HTML Version  $msg .= "--".$htmlalt_mime_boundary.$eol;  $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;  $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;  $msg .= $body.$eol.$eol;  //close the html/plain text alternate portion  $msg .= "--".$htmlalt_mime_boundary."--".$eol.$eol;  if ($attachments !== false)  {    for($i=0; $i < count($attachments); $i++)    {      if (is_file($attachments[$i]["file"]))      {          # File for Attachment        $file_name = substr($attachments[$i]["file"], (strrpos($attachments[$i]["file"], "/")+1));               $handle=fopen($attachments[$i]["file"], 'rb');        $f_contents=fread($handle, filesize($attachments[$i]["file"]));        $f_contents=chunk_split(base64_encode($f_contents));    //Encode The Data For Transition using base64_encode();        $f_type=filetype($attachments[$i]["file"]);        fclose($handle);               # Attachment        $msg .= "--".$mime_boundary.$eol;        $msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol;  // sometimes i have to send MS Word, use 'msword' instead of 'pdf'        $msg .= "Content-Transfer-Encoding: base64".$eol;        $msg .= "Content-Description: ".$file_name.$eol;        $msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol; // !! This line needs TWO end of lines !! IMPORTANT !!        $msg .= $f_contents.$eol.$eol;      }    }  }  # Finished  $msg .= "--".$mime_boundary."--".$eol.$eol;  // finish with two eol's for better security. see Injection.   # SEND THE EMAIL  ini_set(sendmail_from,$fromaddress);  // the INI lines are to force the From Address to be used !  $mail_sent = mail($to, $subject, $msg, $headers);   ini_restore(sendmail_from);   return $mail_sent;}?>