我已将此表单完成并在提交表单时正常工作,信息通过电子邮件发送到电子邮件ID但所有内容在发送时以纯文本显示我希望当表单信息到达电子邮件ID时它应该以粗体显示字段名称。
<?php
$errors = '';
$myemail = 'abc@email.com';//<-----Put Your email address here.
if(
empty ($_POST['fullname']) ||
empty ($_POST['martialstatus']) ||
empty ($_POST['dateofbirth']) ||
empty ($_POST['email']) ||
empty ($_POST['telephone']) ||
empty ($_POST['cell']) ||
empty ($_POST['graduation']) ||
empty ($_POST['yearatt']) ||
empty ($_POST['department']) ||
empty ($_POST['program']) ||
empty ($_POST['permanentaddress']) ||
empty ($_POST['currentemp']) ||
empty ($_POST['designation']) ||
empty ($_POST['selfemp']) ||
empty ($_POST['officeemail']) ||
empty ($_POST['officetele']) ||
empty ($_POST['portfolio']) ||
empty ($_POST['membership']))
{
$errors .= "\n Error: all fields are required";
}
$fullname = $_POST['fullname'];
$martialstatus = $_POST['martialstatus'];
$dateofbirth = $_POST['dateofbirth'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$cell = $_POST['cell'];
$graduation = $_POST['graduation'];
$yearatt = $_POST['yearatt'];
$department = $_POST['department'];
$program = $_POST['program'];
$permanentaddress = $_POST['permanentaddress'];
$currentemp = $_POST['currentemp'];
$designation = $_POST['designation'];
$selfemp = $_POST['selfemp'];
$officeemail = $_POST['officeemail'];
$officetele = $_POST['officetele'];
$portfolio = $_POST['portfolio'];
$membership = $_POST['membership'];
if( empty($errors))
{
$to = $myemail;
$email_subject = "Membership Information: $fullname";
$email_body = "You have received a new message. ".
" Here are the details:\n Personal Information \n\n
Name: $fullname \n
Martial Status: $martialstatus \n
Date of Birth: $dateofbirth \n
Email: $email \n
Telephone: $telephone \n
Cell: $cell \n
Year of Graduation: $graduation \n
Years Attended: $yearatt \n
Department: $department \n
Program Attended: $program \n
Permanent Address: $permanentaddress \n\n
Career Information \n\n
Currently Employeed with: $currentemp \n
Designation: $designation \n
Self Employeed: $selfemp \n
Office Email: $officeemail \n
Office Telephone: $officetele \n
Portfolio: $portfolio \n\n
MemberShip \n\n
Type of MemberShip: $membership \n\n ";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
header('Location: contact-form-thank-you.html');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Contact form handler</title>
</head>
<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>
</body>
</html>
答案 0 :(得分:5)
可以使用HTML电子邮件完成粗体文本,设置内容类型标题:
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;\r\n";
使用<strong>
标记:
<strong>Name:</strong> $fullname <br />
不要忘记\n
不会在HTML电子邮件中显示新行,您需要使用<br />
。
答案 1 :(得分:2)
确保以HTML格式发送电子邮件并将相应的行更改为
Email: <b>$email</b> \n
答案 2 :(得分:2)
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
然后使用标记撰写您的电子邮件
答案 3 :(得分:2)
您需要添加Content-type
标头,并将HTML标记添加到您要发送的电子邮件中。所以:
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email\n";
$headers .= "Content-type: text/html";
此外,您需要将\n
转换为HTML换行符,所以:
$email_body = nl2br($email_body);
mail($to,$email_subject,$email_body,$headers);
答案 4 :(得分:2)
您的标题必须始终以`\ r \ n&#34;
结尾这是错误的
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email";
应该是这样的
$headers = "From: $myemail\r\n";
$headers .= "Reply-To: $email\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
您需要在邮件中添加HTML标记
示例
Name: <strong>$fullname</strong><br />
答案 5 :(得分:1)
我冒昧地重写了一段时间,主要是因为有太多的重复和巨大的安全问题。
也可以对此进行一些进一步的改进,但这仍然是读者的练习。
<?php
$errors = '';
$myemail = 'abc@email.com';//<-----Put Your email address here.
$fields = array(
'fullname' => 'Name',
'martialstatus' => 'Martial Status',
'dateofbirth' => 'Date of Birth',
'email' => 'Email',
'telephone' => 'Telephone',
'cell' => 'Cell',
'graduation' => 'Year of Graduation',
'yearatt' => 'Years Attended',
'department' => 'Department',
'program' => 'Program Attended',
'permanentaddress' => 'Permanent Address',
'currentemp' => 'Currently Employeed with',
'designation' => 'Designation',
'selfemp' => 'Self Employeed',
'officeemail' => 'Office Email',
'officetele' => 'Office Telephone',
'portfolio' => 'Portfolio',
'membership' => 'Type of MemberShip',
);
// Don't allow HTML in form.
foreach ($_POST as $key => $value) {
$_POST[$key] = strip_tags($value);
}
$missing_fields = array_diff_assoc($fields, $_POST);
if (count($missing_fields) > 0) {
$errors .= "\n Error: all fields are required";
}
if (empty($errors)) {
$to = $myemail;
$email_subject = 'Membership Information: ' . $_POST['fullname'];
$email_body = 'You have received a new message. Here are the details:<br /> Personal Information <br/ ><br/ >';
foreach (array('fullname', 'martialstatus', 'dateofbirth', 'email', 'telephone', 'cell', 'graduation', 'yearatt', 'department', 'program', 'permanentaddress') as $key) {
$email_body .= $fields[$key] . ': <strong>' . $_POST[$key] . "</strong><br />";
}
$email_body .= "Career Information <br /><br />";
foreach (array('currentemp', 'designation', 'selfemp', 'officeemail', 'officetele', 'portfolio') as $key) {
$email_body .= $fields[$key] . ': <strong>' . $_POST[$key] . "</strong><br />";
}
$email_body .= "MemberShip <br /><br />";
foreach (array('membership') as $key) {
$email_body .= $fields[$key] . ': <strong>' . $_POST[$key] . "</strong><br />";
}
$headers = "From: $myemail\r\n";
$headers .= "Reply-To: $myemail\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
header('Location: contact-form-thank-you.html');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Contact form handler</title>
</head>
<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>
</body>
</html>