PHP邮件正文构造

时间:2011-02-17 17:28:25

标签: php sendmail

我似乎无法正确加入(连接)这些字段。基本上我们使用邮件api到第三方后端,我们无法更改他们的字段。因此,要添加新字段,我们需要将它们添加到评论部分。我想添加

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

到评论字段$inquiry = $_POST['TextField'] ;

我需要在生成的电子邮件中将其格式化如下:

登录 - xyz

主机名 - xxxx

内部IP - xxx

评论 - a; ldkjfalkdjf

目前我有以下代码,当它们连接在一起时不返回任何内容

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

mail( "email@email.com", "subject",
"$inquiry"
"From: $email");

如何将所需数据分组并在回复电子邮件中更好地格式化? THX!

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:1)

你必须小心如何构建$ inquiry:

  

要发送的消息。

     

每行应用a分隔   LF(\ n)。线条不应该更大   超过70个字符。

     

小心(仅限Windows)当PHP是   如果,直接与SMTP服务器通信   在一个开始时找到一个句号   线,它被删除。反击   这个,用a替换这些事件   双点。

PHP Mail Function