我正在学习php,并试图形成我邮寄到我的电子邮件。这是我的代码:
$to = "name@domain.com";
$subject = "Competition Entry - WIN A 2 NIGHT FAMILY PRICE";
$message = "Name: ".$name. "<br />" ."Surname: ".$surname.;
mail ($to, $subject, $message);
?>
当它发送到我的电子邮件时,显示为:
Name: <br /> Surname:
为什么我的<br />
显示为文字而不是中断?
答案 0 :(得分:3)
追加标题Content-Type
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
示例文档使用HTML格式发送邮件: http://css-tricks.com/sending-nice-html-email-with-php/
答案 1 :(得分:1)
因为默认情况下您的邮件正文是纯文本,而<br />
是HTML标记。如果你想用HTML发送邮件,你需要正确地构建它(我建议你使用PHPMailer
类来完成这项工作)。如果你想要换行。你需要使用\n
。
答案 2 :(得分:1)
您必须发送正确的标题,您需要使用html发送邮件:
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset: utf8\r\n";
$to = "name@domain.com";
$subject = "Competition Entry - WIN A 2 NIGHT FAMILY PRICE";
$message = "Name: ".$name. "<br />" ."Surname: ".$surname.;
mail ($to, $subject, $message, $headers);
答案 3 :(得分:0)
开始使用Swiftmailer,您的生活会更轻松。
require_once('swift/lib/swift_required.php');
$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance()
->setFrom(array($from))
->setTo(array($to))
->setEncoder(Swift_Encoding::get7BitEncoding())
->setSubject($subject)
->setBody($body, 'text/html')
->addPart(strip_tags($body), 'text/plain')
->attach(Swift_Attachment::fromPath($filename))
;
$mailer->send($message);