0

所以我似乎无法正确地表达这个问题 - 但我想知道你将如何改变这种方式

$Body = "";
$Body .=   "Name: ";  
$Body .= $Name;
$Body .= "\n";
$Body .= "City: ";
$Body .= $City;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

当它到达我的电子邮件时看起来。当我收到电子邮件(将其用作联系表格)时,我得到了这个 ->

Name: lloan
City: SomeCity
Email: some@email.com
Message: Testing

我试过<strong> $Body .= "Name: ";</strong>了,但没有用——我也试了$Body .= "<strong> Name: </strong>";一次又一次,没有。谁能指出我正确的方向?我真的很想学习如何做到这一点 - 我已经用谷歌搜索了几次,但我认为这是我表达问题的方式对我没有帮助。

编辑:所以我现在可以做到这一点 -$Body .= "<strong>Name: </strong>";使用下面添加标题然后将其添加到 mail() 函数的建议 - 但是,我该如何在更大范围内使用它?例如 - 如果我想要有彩色背景怎么办 - 在这种情况下我也可以使用 CSS 吗?SO上的其他问题并没有完全回答这个问题。

4

3 回答 3

1

在邮件函数中添加一个参数标题,如下所示:

$headers = 'MIME 版本:1.0' 。"\r\n"; $headers .= '内容类型:文本/html;字符集=iso-8859-1' 。"\r\n";

并像这样调用邮件功能:

邮件($to,$subject,$Body,$headers)

如果您想格式化您的消息(变量 $Body 的内容),您可以随意使用尽可能多的 HTML。

于 2013-07-03T23:24:20.560 回答
1

就是这样:

$to = 'yourmailtarget@example.com';

$subject = 'Your email subject';

$headers = "From: abc@abc.com \r\n";
$headers .= "Reply-To: no-reply@abc.com \r\n";
$headers .= "CC: abc@abc.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

$message = 'Put your html message here<br>';
$message .= "<b>HTML feature is now enabled</b><br>";
$message .= "<table border="1"><tr><td>Hello</td><td>World</td></tr></table>";
$message .= "For the styling, you can use inline styling:<Br>";
$message .= "<span style='color:#FF0000;'>This is red color</span>";
mail($to,$subject,$message,$headers,$parameters);

回答您的问题最重要的部分是这一行:

$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

这告诉系统使用 HTML 格式生成电子邮件。

希望这可以帮助

于 2013-07-03T23:26:47.617 回答
0

如果您想发送 HTML 电子邮件,您还需要发送纯文本版本,因为并非所有邮件客户端都支持 HTML,并且某些邮件系统专门去除了 HTML 版本。

这意味着您需要一个Content-type:multipart标题和多个具有自己标题的部分,每个部分由特定的边界分隔。实际的格式很复杂,所以请使用swiftmailPHPMailer之类的库

于 2013-07-03T23:30:27.580 回答