php – 如何使表单发送简单的HTML电子邮件而不是纯文本
发布时间:2020-12-13 17:10:34 所属栏目:PHP教程 来源:网络整理
导读:好的,我之前已经问过这个问题,但我没有得到明确的答案,这次我也会更好地解释. 我有一个联系表格,提交后,收到的提交电子邮件是纯文本,这不是我想要的.我希望提交至少有一些风格和整洁(使用我自己的HTML下面).我曾尝试过这项工作,但没有成功,现在需要外界帮助.
好的,我之前已经问过这个问题,但我没有得到明确的答案,这次我也会更好地解释.
我有一个联系表格,提交后,收到的提交电子邮件是纯文本,这不是我想要的.我希望提交至少有一些风格和整洁(使用我自己的HTML下面).我曾尝试过这项工作,但没有成功,现在需要外界帮助. 这是进程php表单: <?php if (!isset($_SESSION)) session_start(); if(!$_POST) exit; if (!defined("PHP_EOL")) define("PHP_EOL","rn"); $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; // Important Variables $session_verify = $_SESSION['verify']; if (empty($session_verify)) $session_verify = $_COOKIE['verify']; $error = ''; if(trim($name) == '') { $error .= '<li>Your name is required.</li>'; } if(trim($email) == '') { $error .= '<li>Your e-mail address is required.</li>'; } elseif(!isEmail($email)) { $error .= '<li>You have entered an invalid e-mail address.</li>'; } if(trim($phone) == '') { $error .= '<li>Your phone number is required.</li>'; } elseif(!is_numeric($phone)) { $error .= '<li>Your phone number can only contain digits (no spaces).</li>'; } if(trim($comments) == '') { $error .= '<li>You must enter a message to send.</li>'; } if($session_verify != $posted_verify) { $error .= '<li>The verification code you entered is incorrect. </li>'; } if($error != '') { echo '<div class="error_message">Attention! Please correct the errors below and try 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 . ". You 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: $emailrnBCC:{$bcc}rn" . 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,$secret) { // Twitter Direct Message function,do 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; } ?> 请注意以上表格中的此代码: $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>'; 我想用这个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,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,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> 在一步一步的基础上,需要做些什么才能使其发挥作用.我已经尝试用我的STYLED html替换纯文本代码,但它不起作用.我还需要做什么? 感谢您的回复! 编辑 请点击这里: 解决方法
我们的(工作)代码:
$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 . "rn"; $headers .= 'To: ' . $mmail_to . "rn"; $headers .= 'Bcc: ' . $mmail_bcc . "rn"; $headers .= 'Return-Path: ' . $frm . "rn"; $headers .= 'MIME-Version: 1.0' ."rn"; $headers .= 'Content-Type: text/HTML; charset=ISO-8859-1' . "rn"; $headers .= 'Content-Transfer-Encoding: 8bit'. "nrn"; $headers .= $text . "rn"; if (!mail('',$strSubject,'',$headers)) { . . . 也许你需要添加’Content-Transfer-Encoding’或者$msg应该是$headers的一部分??? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |