PHP邮件正文构造

问题描述:

我似乎无法正确连接(连接)这些字段。基本上我们使用一个邮件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

你有你如何构建$询问要小心:发送

消息。

每行应该用 LF(\ n)分隔。线不应该比70个字符大 。

注意(仅Windows)当PHP是 直接跟一个SMTP服务器,如果 一个句号是在 行的开始发现,它被删除。要采取反击行动 ,请用 双点替换这些事件。

PHP Mail Function

$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