1

我正在尝试创建一个预订系统,当用户预订和活动时,它会向所需的人发送电子邮件,现在大部分都可以使用,但我在使用电子邮件系统时遇到了问题。

该电子邮件仅发送到 $to 而不是发送到 CC:。它也是由托管服务器发送的,不显示 FROM:。我读过几页说标题的顺序很重要,但我似乎找不到正确的顺序。

这是代码

 $to = 'crnflying@gmail.com';

$subject = $this->rank . ' ' . $this->first_name . ' ' . $this->last_name;

$message = '
<html>
<body>
<img style="float: right;" src="http://www.emuas.co.uk/templates/emuas-public/images/emuas-title.png" alt="emuas-logo">
<h2>EMUAS Flying Booking for ' . $this->rank . ' ' . $this->first_name . ' ' . $this->last_name . '</h2>
<table style="border-color: #666;" cellpadding="10">
<tr>
<td><strong>Start Date:</strong> </td>
<td>' . $this->flying_start_date . '</td>
</tr>
<tr>
<td><strong>End Date:</strong> </td>
<td>' . $this->flying_end_date . '</td>
</tr>
<tr>
<td><strong>Comments:</strong> </td>
<td>' . $this->flying_comments . '</td>
</tr>
</table>
</body>
</html>'

$headers = 'MIME-Version: 1.0' . '\r\n';
$headers .= 'Content-type:text/html;charset=iso-8859-1' . '\r\n';
$headers .= 'From: <' . $this->email . '>' . '\r\n';
$headers .= 'Reply-To: ' . $this->email . '\r\n';
$headers .= 'CC: ' . $this->email . '\r\n';

if (mail($to, $subject, $message, $headers)) {
echo 'Your message has been sent.';                                 }
else {
echo 'There was a problem sending the email.';
}

任何帮助将非常感激。拜伦

4

1 回答 1

0

要扩展 ThiefMaster 或 Michael 所说的内容(在评论中),您应该尝试 Swiftmailer 或其他专用于电子邮件生成的库。它比“ mail();”更可靠,特别是如果您想编写/使用/发送对您的客户很重要的信息。

查看http://swiftmailer.org/

根本不是什么困难的改变。基本上下载库,将其包含在您的应用程序中,删除您的“mail();” 编码并插入 Swiftmailer 使用的那个(或者你需要的那个,他们有几个选项),就是这样。

您将需要您的电子邮件帐户登录信息/端口/等来发送可靠的信息。您的应用程序将与从您自己的网络邮件应用程序发送电子邮件一样可靠。

祝你好运

于 2014-01-05T03:49:23.550 回答