Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php #-*- coding: utf-8 -*-
- /***
- *
- * @return bool true if email sent, false otherwise
- */
- function email($to, $from, $subject, $html, $attachments=array(),
- $bcc=false, $reply=false )
- {
- foreach(array('to','bcc','from','reply','subject') as $varname)
- {
- /**
- * remove dangerous chars for headers from a string( \n \l \r )
- */
- $$varname = strtr($$varname,
- array("\n" => '',"\l" => '',"\r" => ''));
- }
- /*
- Generate boundary & headers
- */
- $reply = $reply ? $reply : $from;
- $text = strip_tags($html);
- $headers = array();
- $headers[] = "X-Priority: 1 (Higuest)";
- $headers[] = "X-MSMail-Priority: High";
- $headers[] = "Importance: High";
- $headers[] = 'From: '.$from;
- $headers[] = 'Return-Path: '.$reply;
- if($bcc) $headers[] = 'Bcc: '.$reply;
- $headers[] = 'MIME-Version: 1.0';
- $msg_boundary = '-------=part' . md5(uniqid(mt_rand()));
- $headers[] = 'Content-Type: multipart/mixed; boundary="'.$msg_boundary.'"';
- $headers[] = 'This is a multi-part message in MIME format.';
- $headers[] = '--'.$msg_boundary;
- /*
- text
- */
- $boundary = '-------=part' . md5(uniqid(mt_rand()));
- $headers[] = 'Content-Type: multipart/alternative; boundary="'.$boundary.'"';
- $headers[] = '--'.$boundary;
- $headers[] = 'Content-Type: text/plain; charset="utf-8"';
- $headers[] = 'Content-Transfer-Encoding: quoted-printable';
- $headers[] = 'Content-Disposition: inline';
- $headers[] = "";
- $headers[] = $text;
- $headers[] = "";
- /*
- html part
- */
- $headers[] = '--'.$boundary;
- $headers[] = 'Content-Type: text/html; charset="utf-8"';
- $headers[] = 'Content-Transfer-Encoding: quoted-printable';
- $headers[] = 'Content-Disposition: inline';
- $headers[] = "";
- $headers[] = $html;
- $headers[] = "";
- $headers[] = '';
- $headers[] = '--'.$boundary.'--';
- $headers[] = '';
- /*
- handle attachments
- */
- if( !is_array($attachments) )
- $attachments = array();
- foreach( $attachments as $file )
- {
- if(!file_exists($file))
- trigger_error('[email] file '.$file.' does not exits');
- $mimetype = mimetype($file);
- $name = urlize(basename($file));
- $headers[] = '--'.$msg_boundary;
- $headers[] = 'Content-Type: '.$mimetype.'; name="'.$name.'"';
- $headers[] = 'Content-Transfer-Encoding: base64';
- $headers[] = 'Content-Disposition:inline; '
- .'filename="'.$name.'"';
- $headers[] = '';
- $headers[] = chunk_split(base64_encode(file_get_contents($file)));
- $headers[] = '';
- }
- $headers[] = '';
- $headers[] = '--'.$msg_boundary.'--';
- $headers[] = '';
- return mail($to,$subject,'',join("\n",$headers) );
- }
- //- email()
Add Comment
Please, Sign In to add comment