Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 电子邮件中的表单内容布局_Php_Email - Fatal编程技术网

Php 电子邮件中的表单内容布局

Php 电子邮件中的表单内容布局,php,email,Php,Email,不知是否有人能给我一些关于PHP在电子邮件中显示内容的建议 目前,表单数据显示在另一行的正下方,由于表单很大,很难读取 我如何在两者之间画一条线,使它看起来像这样 NAME EMAIL ETC. 以下是我目前掌握的情况: <?php function IsInjected($str) { $injections = array( '(\t+)', '(%08+)', '(%09+)' ); $inject = join('|'

不知是否有人能给我一些关于PHP在电子邮件中显示内容的建议

目前,表单数据显示在另一行的正下方,由于表单很大,很难读取

我如何在两者之间画一条线,使它看起来像这样

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);