这里有一些我一直在研究的代码,基本上我需要设置一个自动电子邮件,在他们填写表格后发送给用户,目前正在进行,但HTML是不能在电子邮件客户端内显示它。
我检查了Gmail,Outlook和Mac邮件,但没有一个正确显示HTML。
这是代码
<?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页面?
我假设我的逃避没有正确完成,这就是为什么没有显示它应该的原因?
提前Thanx!
答案 0 :(得分:3)
在这种情况下显示PHP代码是无用的。我们需要查看最终生成的电子邮件。
然而,引起注意的是一些错误的引用: <body style="'background: #000000; color: #FFFFFF;'">
应该是
<body style="background: #000000; color: #FFFFFF;">
也许这已经解决了。
此外,根据this great guide,电子邮件几乎不支持定位 - 这也可能会影响布局。