2011-02-17 38 views
0

我似乎無法正確連接(連接)這些字段。基本上我們使用一個郵件API到第三方後端,我們不能改變他們的領域。所以要添加新字段,我們需要將它們添加到評論部分。我想PHP郵件正文構造

log in id ($loginID) 
their $internal=$_SERVER['SERVER_ADDR']; 
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); 

添加到註釋字段$inquiry = $_POST['TextField'] ;

我需要在生成的電子郵件如下對其進行格式化:

登錄 - XYZ

主機名 - xxxx

內部IP - XXX

評論 - 一個; ldkjfalkdjf

目前,我有下面的代碼,當其連接在一起沒有返回

$loginID = $_POST['loginID'] ; 
$internal=$_SERVER['SERVER_ADDR']; 
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); 
$inquiry = $_POST['$loginID' . '$internal' . '$hostname' . 'TextField'] ; 

mail("[email protected]", "subject", 
"$inquiry" 
"From: $email"); 

我怎能組所需的數據和格式它在回覆電子郵件中更好?謝謝!

+0

您$ inquery = $ _ POST也是錯的,我相信每@Gazler – kjy112 2011-02-17 17:33:28

回答

1

你有你如何構建$詢問要小心:發送

消息。

每行應該用 LF(\ n)分隔。線不應該比70個字符大 。

注意(僅Windows)當PHP是 直接跟一個SMTP服務器,如果 一個句號是在 行的開始發現,它被刪除。要採取反擊行動 ,請用 雙點替換這些事件。

PHP Mail Function

4
$inquiry = $_POST['$loginID' . '$internal' . '$hostname' . 'TextField'] ; 

這行看起來是錯誤的。我想你的意思是:

$inquiry = $_POST['loginID'] . $internal . $hostname . $_POST['TextField'] ; 

或者像你說的對其進行格式化:

$inquiry = 'Log In - '.$_POST['loginID'].PHP_EOL; 
$inquiry .= 'Host name - '.$hostname.PHP_EOL; 
$inquiry .= 'Internal IP - '.$internal.PHP_EOL; 
$inquiry .= 'Comments - : '.$_POST['TextField'].PHP_EOL; 
+0

+1,但我會用推薦代替PHP_EOL \ n \由於服務器問題 – kjy112 2011-02-17 17:41:03