包含HTML的PHP邮件程序未正确显示
这是我一直在编写的一些代码,基本上我需要设置一个自动电子邮件,在用户填写表单后发送给用户,目前正在这样做,但HTML没有在电子邮件客户端中显示 我登录了Gmail、Outlook和Mac mail,但它们都没有正确显示HTML 这是密码包含HTML的PHP邮件程序未正确显示,php,email,xhtml,Php,Email,Xhtml,这是我一直在编写的一些代码,基本上我需要设置一个自动电子邮件,在用户填写表单后发送给用户,目前正在这样做,但HTML没有在电子邮件客户端中显示 我登录了Gmail、Outlook和Mac mail,但它们都没有正确显示HTML 这是密码 <?php session_start(); $_SESSION['name'] = $_POST['name']; $name = $_SESSION['name']; $email_1 = $_POST['email_1
<?php
session_start();
$_SESSION['name'] = $_POST['name'];
$name = $_SESSION['name'];
$email_1 = $_POST['email_1'];
$email_2 = $_POST['email_2'];
$email_3 = $_POST['email_3'];
$email_4 = $_POST['email_4'];
$id_num = $_POST['id_num'];
$tel = $_POST['tel'];
$email = $_POST['email'];
//sets the current date
$curDate = date("Y-m-d");
// Example
require_once("mailclass/htmlMimeMail.php");
$mail = new htmlMimeMail();
$mail->setSubject("Your submission to MyWebsite!");
$mail->setFrom("MyWebsite <info@website.co.za>");
$mail->setFrom("MyWebsite <info@website.co.za>");
$email_address = $email_1 . "," . $email_2 . "," . $email_3 ."," . $email_4 ;
$mail->setBcc($email_address);
$day = "
<body style="'background: #000000; color: #FFFFFF;'">
<div style="'background-image: url(http://www.website.com/images/mailerbg.jpg); width: 900px; height: 839px; margin: 0 auto;'">
<div style="'width: 620px; height: 280px; position: relative; top: 155px; left: 25px;'">
<h1><br>your friend $name<br><br><br></h1>
</div>
</div>
</body>";
$mail->setHTML($day);
$result = $mail->send(array());
?>
代码非常凌乱,因为我经常使用它,但基本上没有一个HTML显示在电子邮件客户端中,一旦消息到达目的地,我如何让它在邮件客户端中显示为正确的HTML页面
我假设我的逃跑没有正确完成,这就是为什么没有显示出应有的效果
先走一步 在这种情况下,显示PHP代码是无用的。我们需要查看最终生成的电子邮件 然而,引人注目的是一些错误的引用:
<body style="'background: #000000; color: #FFFFFF;'">
应该是
<body style="background: #000000; color: #FFFFFF;">
也许这已经解决了
此外,据报道,电子邮件中几乎不支持定位-这也可能会干扰布局。Nice anwser,但请记住,在使用pekka的电子邮件时,您必须使用单引号($day='';)来表示偏差code@Tim好眼睛!我想知道OP的代码是如何工作的,所有这些嵌套的双引号?这也是我跳出来的。要补充的是,如果您想转义那些双引号,只需在引号前加一个反斜杠,就像这样:
这样,当您键入双引号时,您不会过早地关闭HTML正文字符串。或者,就像Tim说的,你可以用单引号括起整个字符串,用双引号括起来,就像普通的一样,反之亦然!