使用此代码,我在确认页面上获得输出。我只想将其作为电子邮件发送,页面应该表示感谢。
法典:
<?php
foreach( $response as $key => $value) {
if($key == 'paymentStatus') continue;
?>
<tr>
<td class="fieldName" width="50%"><?php echo $key; ?></td>
<td class="fieldName" align="left" width="50%"><?php echo $value; ?></td>
</tr>
<?php
}
?>
如何使用上面的$key和$value变量形成一个php邮件程序?
任何帮助都非常感谢。我试过了:
<?php
$to = 'ranjan08@gmail.com';
$subject = 'Transaction Details';
$msg="";
$msg.='<table><tr>';
$msg.='<td class="fieldName" width="50%">'.$key. '</td>';
$msg.='<td class="fieldName" width="50%">'.$value. '</td>';
$msg.='</tr></table>';
$message = $_POST;
$headers = 'From: ranjan08@gmail.com' . "rn" .
'Reply-To: ranjan08@gmail.com' . "rn" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
并且没有通过电子邮件发送任何内容。
起初,mail(( 函数期望$message是一个字符串,但你提供了一个数组:
$message = $_POST;
mail($to, $subject, $message, $headers);
您可以使用
$message = var_export($_POST,true);
mail($to, $subject, $message, $headers);
发送原始数据或
$message = "";
foreach($_POST as $key => $value){
$message .= "{$key} : {$value}n";
}
mail($to, $subject, $message, $headers);
以发送格式化的电子邮件正文。
你从哪里得到变量?如果变量设置在同一个文件中,那么你只需要更改 PHP mail()
函数:根据你的脚本,mail()
设置为发送$_POST
变量的值,考虑到可能没有表单提交(没有HTML POST方法,但GET方法(。因此,它可能会在呼叫时抛出一些错误。然后你还准备了$msg
变量,并且你不使用它。
我建议你试试mail($to, $subject, $msg, $headers);
.还要检查你的Apache2/NGINX的日志文件,你可能会在那里看到你弄错了什么。