php - How to make Form send simple HTML email and not Plain text -
php - How to make Form send simple HTML email and not Plain text -
ok, i've asked question before didn't clear reply , time explain better.
i've got contact form when submitted, submission email received in plain text not want. want submission have @ to the lowest degree style , neater (using own html below). i've tried work before no success, , need outside assistance.
here's process php form:
<?php if (!isset($_session)) session_start(); if(!$_post) exit; if (!defined("php_eol")) define("php_eol", "\r\n"); $address = "email@domain.com"; $bcc = "email@domain.com"; $twitter_active = 0; $twitter_user = ""; $consumer_key = ""; $consumer_secret = ""; $token = ""; $secret = ""; $name = $_post['name']; $email = $_post['email']; $phone = $_post['phone']; $dayin = $_post['dayin']; $dayout = $_post['dayout']; $comments = $_post['comments']; if (isset($_post['verify'])) : $posted_verify = $_post['verify']; $posted_verify = md5($posted_verify); else : $posted_verify = ''; endif; // of import variables $session_verify = $_session['verify']; if (empty($session_verify)) $session_verify = $_cookie['verify']; $error = ''; if(trim($name) == '') { $error .= '<li>your name required.</li>'; } if(trim($email) == '') { $error .= '<li>your e-mail address required.</li>'; } elseif(!isemail($email)) { $error .= '<li>you have entered invalid e-mail address.</li>'; } if(trim($phone) == '') { $error .= '<li>your phone number required.</li>'; } elseif(!is_numeric($phone)) { $error .= '<li>your phone number can contain digits (no spaces).</li>'; } if(trim($comments) == '') { $error .= '<li>you must come in message send.</li>'; } if($session_verify != $posted_verify) { $error .= '<li>the verification code entered incorrect. </li>'; } if($error != '') { echo '<div class="error_message">attention! please right errors below , seek again.'; echo '<ul class="error_messages">' . $error . '</ul>'; echo '</div>'; } else { if(get_magic_quotes_gpc()) { $comments = stripslashes($comments); } $e_subject = 'website enquiry'; $msg = '<html><body> <strong>website enquiry from:</strong><br> www.domainname.com<br> -----------------------------------------------------------<br><br> <strong>name: </strong> '.$_post['name'].' <br> <strong>email: </strong> '.$_post['email'].' <br> <strong>contact number: </strong> '.$_post['phone'].' <br> <strong>day in: </strong> '.$_post['dayin'].' <br> <strong>day out: </strong> '.$_post['dayout'].'<br><br> <strong>notes / comments: </strong><br> '.$_post['comments'].' </body></html>'; if($twitter_active == 1) { $twitter_msg = $name . " - " . $comments . ". can contact " . $name . " via email, " . $email ." or via phone " . $phone . "."; twittermessage($twitter_user, $twitter_msg, $consumer_key, $consumer_secret, $token, $secret); } $msg = wordwrap( $msg, 70 ); $headers = "from: $email\r\nbcc:{$bcc}\r\n" . php_eol; $headers .= "reply-to: $email" . php_eol; $headers .= "mime-version: 1.0" . php_eol; $headers .= "content-type: text/html; charset=utf-8" . php_eol; $headers .= "content-transfer-encoding: quoted-printable" . php_eol; if(mail($address, $e_subject, $msg, $headers)) { echo "<fieldset>"; echo "<div id='success_page'>"; echo "<img src='success.png' align='absmiddle' style='padding-right:5px;' /><strong>email sent successfully.</strong>"; echo "</div>"; echo "</fieldset>"; } else { echo 'error!'; // dont edit. } } function twittermessage($user, $message, $consumer_key, $consumer_secret, $token, $secret) { // twitter direct message function, not edit. require_once('twitter/epicurl.php'); require_once('twitter/epioauth.php'); require_once('twitter/epitwitter.php'); $twitter = new epitwitter($consumer_key, $consumer_secret); $twitter->settoken($token, $secret); $direct_message = $twitter->post_direct_messagesnew( array('user' => $user, 'text' => $message) ); $tweet_info = $direct_message->responsetext; } ?>
take note of code in form above:
$msg = '<html><body> <strong>website enquiry from:</strong><br> www.domainname.com<br> -----------------------------------------------------------<br><br> <strong>name: </strong> '.$_post['name'].' <br> <strong>email: </strong> '.$_post['email'].' <br> <strong>contact number: </strong> '.$_post['phone'].' <br> <strong>day in: </strong> '.$_post['dayin'].' <br> <strong>day out: </strong> '.$_post['dayout'].'<br><br> <strong>notes / comments: </strong><br> '.$_post['comments'].' </body></html>';
i replace code above (which produces plain text email) styled html:
<table width="550" border="0" cellpadding="0" cellspacing="0"> <!--dwlayouttable--> <tr> <td height="78" colspan="2" align="center" valign="middle" bgcolor="#f0f5fb"><span style="font-family:georgia, 'times new roman', times, serif; font-size: 24px; font-style:italic; color:#0099cc; ">website enquiry from:</span><br /> <span style="font-family:arial, helvetica, sans-serif; font-size:12px; color:#333333">www.domainname.com</span></td> </tr> <tr> <td width="177" height="166" valign="middle"><span style="font-family:arial, helvetica, sans-serif; font-size:14px; color:#333333; font-weight:bold;">name:<br /> country<br /> contact number<br /> email<br /> no. guests<br /> day in<br /> day out<br /> comments </span></td> <td width="373" valign="middle"><span style="font-family:arial, helvetica, sans-serif; font-size:14px; color:#333333; font-weight:bold;">'.$_post['name'].'<br /> '.$_post['country'].'<br /> '.$_post['tel'].'<br /> '.$_post['email'].'<br /> '.$_post['guests'].'<br /> '.$_post['day in'].'<br /> '.$_post['day out'].'<br /> '.$_post['comments'].'<br /> </span></td> </tr> </table>
on step step basis, need work. i've tried replacing plain text code styled html , doesn't work. else need do?
appreciate responses!
editplease check here: here's html email should like: http://www.testing123.co.za/styled.jpg ..... here's how turns out instead: http://www.testing123.co.za/not-correct.jpg
our (working) code:
$text = ""; $text .= "<html>\n"; $text .= "<body style=\"font-family:arial; \">\n"; $text .= "<b>more text</b>"; . . . $text .= "</body>\n"; $text .= "</html>\n"; $headers = 'from: ' . $frm . "\r\n"; $headers .= 'to: ' . $mmail_to . "\r\n"; $headers .= 'bcc: ' . $mmail_bcc . "\r\n"; $headers .= 'return-path: ' . $frm . "\r\n"; $headers .= 'mime-version: 1.0' ."\r\n"; $headers .= 'content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'content-transfer-encoding: 8bit'. "\n\r\n"; $headers .= $text . "\r\n"; if (!mail('', $strsubject, '', $headers)) { . . .
maybe need add together 'content-transfer-encoding' or maybe $msg should part of $headers ???
php html css forms email
Comments
Post a Comment