Pages

Saturday 22 June 2013

SENDING HTML AND PLAIN TEXT MAILS IN PHP

How to Send HTML and Plain Text Emails in PHP


We can send HTML emails through PHP,  But the major issue we need to take care is some of the mail clients doesn't support HTML mails, some times they display our  HTML message as HTML coding instead of design, to solve from the issue we need to add a text version of the message along with our email.

In the below code, I added both HTML and plain text message formats, if the client's Mail client is not supported HTML Emails, it automatically displays the plain text version, Normally major mail clients supports HTML message, but some others not.

-->
HTML Code (FORM) - contact.html


 <form method="post" name="frmCheckout"  action="post.php">

<div>Name</div>
<div class="quotecontact2">
<input name="nname" class="cform" id="nname"  size="37">
</div>

<div >Email Address</div>
<div>
<input name="email" class="cform" id="email"  size="37">
 </div>

<div>Phone</div>      

<div >
<input name="mphone" class="cform" id="mphone" size="37"> 
</div>
  
<div>Country</div> 
<div>
<input name="nationality" class="cform" id="nationality" size="37">
</div>


<div>Intrested Services</div>

<div>


<input name="webdesign" id="webdesign" type="checkbox" class="fpr" value="Web Design" />
<span class="cform0" >Web designing</span>
<input name="webhost" id="webhost" type="checkbox" class="fpr" value="Web Hosting" />
<span class="cform0">Webhosting</span></div>

<input name="seo" id="seo" type="checkbox" class="fpr" value="SEO" />
<span class="cform0">SEO</span>

<input name="blog" id="blog" type="checkbox" class="fpr" value="Blog" />
<span class="cform0">Blog</span>
</div>

<div>Message</div>

<div> 
<textarea name="msg" cols="40" rows="6" class="cform1" id="msg"></textarea>
 </div>



<div> 
<input name="submit" type="submit"  value="Submit">
<input name="RESET" type="reset" id="RESET">
</div>

</form>


PHP Code  - Post.php

<?PHP
//Posting Input values
$nname=$_POST['nname'];
$email=$_POST['email'];
$mphone=$_POST['mphone'];
$nationality=$_POST['nationality'];

//Posting Check box values
$webdesign = $_POST[webdesign];
$webhost = $_POST[webhost];
$seo = $_POST[seo];
$blog = $_POST[blog];

//Posting Messagebox values
$msg=$_POST['msg'];



# -=-=-=- MIME BOUNDARY
$mime_boundary = "Tom's Cyber Explorations | http://cyberexploration.blogspot.in |".md5(time());
# -=-=-=- MAIL HEADERS
$to = "me@mymailid.com"; // Your email address must be added here
$subject = "Enquiry";
$headers = "From: ".$HTTP_POST_VARS['name'];
$headers .= "Reply-To".$_POST['email'];
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\n\n";



// Starting Plain text message
$message .= "--{$mime_boundary}\r\n";
$message .= "Content-Type: text/plain; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";

$message .="Name = $nname | Email Address - $email | My Phone number  - $mphone | Country - $nationality | Interested Services - $webdesign , $webhost , $seo, $blog | Message - $msg "; // Message Body

$message .= "--{$mime_boundary}--\r\n";
// Ending Plain text message

// Starting HTML message
$message .= "--{$mime_boundary}\r\n";
$message .= "Content-Type: text/html; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";

$message .= "<html>\n";
$message .= "<body style=\"font-family:Verdana, Geneva, sans-serif; font-size:14px; color:#006393;\">\n";

$message .= "<table width=\"800\" height=\"159\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" >";
$message .="<tr>";
$message .="<td height=\"66\" colspan=\"4\" bgcolor=\"#002953\"></td>";
$message .="</tr>";
$message .="<tr>";
$message .="<td width=\"1%\"></td>";
$message .="<td colspan=\"3\">&nbsp;</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td></td>";
$message .="<td>:</td>";
$message .="<td></td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td width=\"200\"><b>Name</b></td>";
$message .="<td align=\"left\" >:</td>";
$message .="<td>$nname</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td></td>";
$message .="<td>:</td>";
$message .="<td></td>";
$message .="</tr>";


$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td><b>Email</b></td>";
$message .="<td>:</td>";
$message .="<td>$email</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td></td>";
$message .="<td>:</td>";
$message .="<td></td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td><b>Phone</b></td>";
$message .="<td>:</td>";
$message .="<td>$mphone</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td></td>";
$message .="<td>:</td>";
$message .="<td></td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td><b>Country</b></td>";
$message .="<td>:</td>";
$message .="<td>$nationality</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td></td>";
$message .="<td>:</td>";
$message .="<td></td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td><b>Interested Services</b></td>";
$message .="<td>:</td>";
$message .="<td>$webdesign</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td><b></b></td>";
$message .="<td></td>";
$message .="<td>$webhost</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td><b></b></td>";
$message .="<td></td>";
$message .="<td>$seo</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td><b></b></td>";
$message .="<td></td>";
$message .="<td>$blog</td>";
$message .="</tr>";


$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td></td>";
$message .="<td>:</td>";
$message .="<td></td>";
$message .="</tr>";


$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td><b>Message</b></td>";
$message .="<td>:</td>";
$message .="<td>$msg</td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td>&nbsp;</td>";
$message .="<td></td>";
$message .="<td>:</td>";
$message .="<td></td>";
$message .="</tr>";

$message .="<tr>";
$message .="<td height=\"21\" colspan=\"4\" bgcolor=\"#CCCCCC\"></td>";
$message .="</tr>";
$message .="</table>";
$message .= "</body>\n";
$message .= "</html>";
# -=-=-=- FINAL BOUNDARY
$message .= "--{$mime_boundary}--\r\n";
// Ending HTML message
$message .= preg_replace("/(\r\n|\r)/", "\n", $message);
# -=-=-=- SEND MAIL
$mail_sent = @mail( $to, $subject, $message, $headers );
//echo $mail_sent ? "Mail sent" : "Mail failed";
if($mail_sent)
{
echo "&radic; Hi<strong>".'&nbsp;'.$HTTP_POST_VARS['nname'].'&nbsp;'."</strong> your message has been sent<BR><button onclick='history.go(-1);'>Back </button>

  ";
}
else
{
echo "Opps your message has been not sent";
}
?>

No comments:

Post a Comment