2012-11-13 36 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

請檢查更新代碼 –