Php 电子邮件中的表单内容布局
不知是否有人能给我一些关于PHP在电子邮件中显示内容的建议 目前,表单数据显示在另一行的正下方,由于表单很大,很难读取 我如何在两者之间画一条线,使它看起来像这样Php 电子邮件中的表单内容布局,php,email,Php,Email,不知是否有人能给我一些关于PHP在电子邮件中显示内容的建议 目前,表单数据显示在另一行的正下方,由于表单很大,很难读取 我如何在两者之间画一条线,使它看起来像这样 NAME EMAIL ETC. 以下是我目前掌握的情况: <?php function IsInjected($str) { $injections = array( '(\t+)', '(%08+)', '(%09+)' ); $inject = join('|'
NAME
EMAIL
ETC.
以下是我目前掌握的情况:
<?php
function IsInjected($str)
{
$injections = array(
'(\t+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
function processText($text) {
$text = strip_tags($text);
$text = trim($text);
$text = htmlspecialchars($text);
return $text;
}
$formname=$_POST['formname'];
$spamcode=$_POST['spam_preventer_code'];
switch ($formname) {
case 0: $to='someone@email.org.uk';
$spamcodecheck=42;
$thankyoupage="thankyou.htm";
break;
case 1: $to='someone@email.com';
$spamcodecheck=42;
$thankyoupage="thankyou.htm";
break;
case 3: $to='someone@email.org.uk';
$spamcodecheck=42;
$thankyoupage="thankyou.htm";
break;
case 4: $to='someone@email.org.uk';
$spamcodecheck=73;
$thankyoupage="thankyou.htm";
break;
case 5: $to='someone@email.org.uk';
$spamcodecheck=48;
$thankyoupage="thankyou.htm";
break;
case 6: $to='someone@email.org.uk';
$spamcodecheck=64;
$thankyoupage="thankyou.htm";
break;
case 7: $to='someone@email.org.uk';
$spamcodecheck=48;
$thankyoupage="thankyou.htm";
break;
}
if (!empty($to)) {
if(isset($_POST['submit'])){
if($spamcode==$spamcodecheck) {
$message="Form Contents \n\n";
foreach ($_POST as $key => $value) {
if(!IsInjected($value)) $message=$message.$key."=".processText($value)."]\n";
}
$subject = "Form $formname submission";
mail($to,$subject,$message);
//echo "Mail Sent. Thank you, we will contact you shortly.";
$header="Location: $thankyoupage";
header($header);
} else {
echo "Bad Spam Code, please go back and try again.";
}
} else {
echo "No form submit in post data";
}
} else {
echo "Bad Form Name.";
}
?>
在组合字段时,只需添加一个额外的换行符,将空格加倍即可 与此相反:
if(!IsInjected($value)) $message=$message.$key."=".processText($value)."]\n";
使用以下命令:
if(!IsInjected($value)) $message=$message.$key."=".processText($value)."]\n\n";
PHP支持您需要的HTML电子邮件。这主要取决于你的内容类型 请参阅了解消息内容类型:
要发送自定义HTML电子邮件的PHP库:
$to='1!'tracey@so.com';
$subject='您的自定义HTML格式电子邮件';
$headers=“From:”。去除标签($\u POST['from-email'])。“\r\n”;
$headers.=“回复:”。去除标签($\u POST['reply-email'])。“\r\n”;
$headers.=“抄送:sender@so.com\r\n“;
$headers.=“MIME版本:1.0\r\n”;
$headers.=“内容类型:text/html;字符集=ISO-8859-1\r\n”;
$message='';
$message.='';
$message.='';
$message.='Name';
$message.='John';
$message.='';
$message.='';
$message.=“电子邮件”;
$message.='John@site.com';
$message.='';
$message.='';
$message.='Etc';
$message.='etc..';
$message.='';
$message.='';
$message.='';
邮件($to、$subject、$message、$headers);
您必须更改头的mime类型。
$to = 'tracey@so.com';
$subject = 'Your Custom HTML Format Email';
$headers = "From: " . strip_tags($_POST['from-email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['reply-email']) . "\r\n";
$headers .= "CC: sender@so.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= '<table>';
$message .= '<tr>';
$message .= '<td>Name</td>';
$message .= '<td>John</td>';
$message .= '</tr>';
$message .= '<tr>';
$message .= '<td>Email</td>';
$message .= '<td>John@site.com</td>';
$message .= '</tr>';
$message .= '<tr>';
$message .= '<td>Etc</td>';
$message .= '<td>etc . . </td>';
$message .= '</tr>';
$message .= '</table>';
$message .= '</body></html>';
mail($to, $subject, $message, $headers);