1

我尝试了许多标题更改均无济于事。

它可能是电子邮件服务器吗?还是我错过了一些重要的东西?

我希望看到的不仅仅是在生成的电子邮件中呈现为文本的代码。

谢谢!

<?php session_start(); ?>

<?php
$body = '';
$body .= '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Shopping Cart</title>
</head>
<body>
<h1>Here is a Copy of Your Order</h1>'; 
    $body .= '<table>
    <tr>
    <th>Product</th>
    <th>Cost</th>
    <th>Units</th>
    <th>Subtotal</th>
    </tr>';
    $total = 0;

    foreach($_SESSION['cart'] as $item) {

    $body .= "<tr>
        <td>{$item['item']}</td>
        <td>\${$item['unitprice']}</td>
        <td>{$item['quantity']}</td>
        <td>$".($item['unitprice'] * $item['quantity'])."</td>
        </tr>";
        $total += ($item['unitprice'] * $item['quantity']);
    }
    $body .= '</table>';
    $body .= "<p>Grand total: \$$total</p>";
    $body .='</body></html>';
}
?> 

<?php
echo $body;
$to      =  'xxxx@gmail.com';
$subject =  'Fill This Order';
$headers =  'From: xxxx@gmail.com' . PHP_EOL;
$headers .= 'MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL;
mail($to, $subject, $message, $body, $headers);
?>
4

2 回答 2

2

这是一个关于如何发送带有 html 代码的邮件的教程:使用 PHP 发送漂亮的 HTML 电子邮件

解决它,他们得到的工作。

正如您在那里很容易看到的那样,发送的标头是:

$to = 'bob@example.com';

$subject = 'Website Change Reqest';

$headers = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
$headers .= "CC: susan@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

您可以看到它们的差异主要是:\r\n在行的每一端。这可能是你的问题,因为没有它可能是这样的:

$headers .= 'MIME-Version: 1.0' . PHP_EOL . 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL;

在标题中......这可能是:'MIME-Version: 1.0Content-type: text/html; charset=iso-8859-1 并且不起作用..

我认为您应该查看我添加的链接并通过它修改您的代码。

编辑:

我想我找到了!你发送mail($to, $subject, $message, $body, $headers);

而 PHP 邮件功能使用:

mail(to,subject,message,headers,parameters)

你可以在这里看到如何使用邮件函数:PHP mail() 函数

我认为heppend的事情是你发送$message的不存在并且标题没有按应有的方式发送。

于 2013-06-08T19:58:55.583 回答
0

您是否尝试将 PHP_EOL 换成“\r\n”?

于 2013-06-08T19:58:18.410 回答