如何通过电子邮件发送 PHP 发布变量



使用此代码,我在确认页面上获得输出。我只想将其作为电子邮件发送,页面应该表示感谢。

法典:

<?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的日志文件,你可能会在那里看到你弄错了什么。

最新更新