Email Code

  Home arrow Email Code arrow Another SendMail

Another SendMail
By: Codewalkers
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 5 stars5 stars5 stars5 stars5 stars / 1

    Table of Contents:



    This is another sendmail script. Sends HTML and Text message. Add attached file as inline image or attachment.

    By : hermawan

    * Publish On : Jan 10th, 2004 *
    * Scripter : Hermawan Haryanto *
    * Version : 1.0 *
    * License : GPL (General Public License) *

    function sendmail ($from_name, $from_email, $to_name, $to_email, $subject, $text_message="", $html_message, $attachment="")
    $from = "$from_name <$from_email>";
    $to = "$to_name <$to_email>";
    $main_boundary = "----=_NextPart_".md5(rand());
    $text_boundary = "----=_NextPart_".md5(rand());
    $html_boundary = "----=_NextPart_".md5(rand());
    $headers = "From: $from\n";
    $headers .= "Reply-To: $from\n";
    $headers .= "X-Mailer: Hermawan Haryanto (\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n\tboundary=\"$main_boundary\"\n";
    $message .= "\n--$main_boundary\n";
    $message .= "Content-Type: multipart/alternative;\n\tboundary=\"$text_boundary\"\n";
    $message .= "\n--$text_boundary\n";
    $message .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: 7bit\n\n";
    $message .= ($text_message!="")?"$text_message":"Text portion of HTML Email";
    $message .= "\n--$text_boundary\n";
    $message .= "Content-Type: multipart/related;\n\tboundary=\"$html_boundary\"\n";
    $message .= "\n--$html_boundary\n";
    $message .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= str_replace ("=", "=3D", $html_message)."\n";
    if (isset ($attachment) && $attachment != "" && count ($attachment) >= 1)
    for ($i=0; $i<count ($attachment); $i++)
    $attfile = $attachment[$i];
    $file_name = basename ($attfile);
    $fp = fopen ($attfile, "r");
    $fcontent = "";
    while (!feof ($fp))
    $fcontent .= fgets ($fp, 1024);
    $fcontent = chunk_split (base64_encode($fcontent));
    @fclose ($fp);
    $message .= "\n--$html_boundary\n";
    $message .= "Content-Type: application/octetstream\n";
    $message .= "Content-Transfer-Encoding: base64\n";
    $message .= "Content-Disposition: inline; filename=\"$file_name\"\n";
    $message .= "Content-ID: <$file_name>\n\n";
    $message .= $fcontent;
    $message .= "\n--$html_boundary--\n";
    $message .= "\n--$text_boundary--\n";
    $message .= "\n--$main_boundary--\n";
    @mail ($to, $subject, $message, $headers);
    # Example
    # Sender Name
    $from_name = "Hermawan Haryanto";
    # Sender Email
    $from_email = "";
    # Recipient Name
    $to_name = "Hermawan Haryanto";
    # Recipient Email
    $to_email = "";
    # Email Subject
    $subject = "Email with embeded images";
    # Text Portion
    $text_message = "This is HTML email and your email client softawre ain't support HTML email.";
    # HTML Portion
    $html_message = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
    $html_message.= "<html><head><title></title>\n";
    $html_message.= "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";
    $html_message.= "<style type=\"text/css\">\n";
    $html_message.= "body, td {\nfont-family: Trebuchet MS;\nfont-size: 12px;\n}\n";
    $html_message.= "</style>\n";
    $html_message.= "</head>\n";
    $html_message.= "<body><table width=\"100%\" cellpadding=0 cellspacing=0><tr valign=top align=center>";
    $html_message.= "<td width=300>This is my HTML Body\n<br>";
    $html_message.= "<img src=\"cid:hh.jpg\"><br>\n";
    $html_message.= "<font color=red>Hi everyone, this is my picture and family.";
    $html_message.= "</td>";
    $html_message.= "</tr></table>";
    $html_message.= "</body></html>";

    # Attachment Location
    $attachment = array ("");
    # Execute SendMail Function
    sendmail ($from_name, $from_email, $to_name, $to_email, $subject, $text_message, $html_message, $attachment);
    DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

    More Email Code Articles
    More By Codewalkers

    blog comments powered by Disqus


    - Basic Ajax contact form
    - Random validation image
    - tinySendMail
    - SaferMail 0.7
    - Smtp Auth Email Script
    - Search Mime Email Structure
    - PHP Text / HTML Email with Attachments 2.1
    - Simple way to send mail wih one attached Doc...
    - Generic POP3 Class
    - PHP Text / HTML Email with Unlimited Attachm...
    - Another SendMail
    - email with attachment
    - Get Email Addresses from Strings
    - EmailCode
    - Email Validation - Gone Wild

    Developer Shed Affiliates


    © 2003-2019 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap