2012-11-13 38 views
0

我有我的电子邮件以下的html代码。html内部的PHP邮件

$headers = "From: [email protected] \r\n" . 
    "MIME-Version: 1.0\r\n" . 
    "Content-Type: text/html; charset=ISO-8859-1 \r\n"; 
$message = <<<EOD 
<!DOCTYPE html> 
<head> 
<meta http-equiv=Content-Type content=text/html; charset=utf-8 /> 
<link rel=stylesheet type=text/css href=logo.jpg/> 
</head> 
<body> 

<img src=../../img/logo.jpg style=left: 0;position: absolute; width: 75px;/> 
<body style=padding: 0 0 0 100px;position: relative;> 
{date(F d, Y)} <br><br> 

<b> {$row_Recordset1['First Name']}&nbsp{$row_Recordset1['Middle Initial']}&nbsp{$row_Recordset1['Last Name']}</b><br> 
{$row_Recordset1['Position']}<br>{$row_Recordset1['Company Name']}<br>{$row_Recordset1['Corporate Address']}<br><br> 

<p>Dear {$row_Recordset1['Last Name']}:</p> 
// the rest of the letters 
</body> 
</html> 
EOD; 

我也曾有过一些测试运行,并全部显示为

{date(F d, Y)} 



Dear : 

我不认为这些代码被认可。有什么建议么?

编辑:html正在工作。它只是不工作的PHP代码我猜

回答

0

是的,你不能插入那样的函数调用。要插入日期,请​​在代码段$date = date()之前创建一个变量。然后你可以在字符串中使用该变量。

显然$row_Recordset1['Last Name']是空的,不存在,包含一个空字符串或空格或一段HTML。很难说,究竟是什么,因为我们没有你的数据,也没有给$ row_Recordset1分配一个值的代码。

尽管如此,电子邮件被解释为HTML,否则你会看到大块的HTML而不仅仅是本文。这部分工作得很好。

+0

我很确定它不是空的,因为我有一个确认页面可以回应这些变量,它们确实出现在我的确认页面中。我只是将文件重新保存为另一个包含我的邮件功能的脚本。没关系,不是吗? –

+0

事实证明你是对的。我想我需要找到一种方法将值从一个页面传递到另一个页面。我已经成功完成了我的确认页面,但电子邮件肯定没有获得$ _GET值。谢谢! –

0

你有没有尝试发送一些基本的HTML电子邮件,看看它的工作?你的其他代码可能会让事情变得如此糟糕。

+0

这是怎么回答的?您没有提供任何解决方案 –

+0

故障排除是一个排除过程。他只是编辑他的帖子,指出HTML本身的作用,所以这改变了整个问题。我不会经常回答关于SO的问题,所以如果有一些规则我打破了,那么这对我来说是新闻。 – NoPyGod

+1

包含答案或可能的替代解决方案的答案很常见。像这些提示通常是写在评论中,因为,他们可能是OP,他们不回答这个问题。 – GolezTrol

0
$headers = "From: [email protected] \r\n" . 
    "MIME-Version: 1.0\r\n" . 
    "Content-Type: text/html; charset=ISO-8859-1 \r\n"; 

$message = <<<EOD 
<!DOCTYPE html> 
<head> 
<meta http-equiv=Content-Type content=text/html; charset=utf-8 /> 
<link rel=stylesheet type=text/css href=logo.jpg/> 
</head> 
<body> 
<img src=../../img/logo.jpg style=left: 0;position: absolute; width: 75px;/> 
<body style=padding: 0 0 0 100px;position: relative;> 
EOD; 

$message .= date("F d, Y ")."<br><br>"; 

    $message .= "<b>".$row_Recordset1['First Name']."&nbsp".$row_Recordset1['Middle Initial']."&nbsp".$row_Recordset1['Last Name']."</b><br>"; 
$message .= $row_Recordset1['Position']."<br>".$row_Recordset1['Company Name']."<br>".$row_Recordset1['Corporate Address']."<br><br>"; 
$message .= "<p>Dear ".$row_Recordset1['Last Name'].":</p>"; 
// the rest of the letters 
$message .= "</body> 
</html>"; 
+0

分手这相当不错的heredoc字符串?浪费。只需使用一个变量。他们并不那么可怕。您的解决方案使维护此电子邮件变得更加困难,并将其从开始使用模板移开一步。 – GolezTrol

+0

它确实显示了日期,但其余的变量仍然不起作用。感谢您的帮助顺便说一句。任何感谢。 –

+0

请检查更新代码 –