将结果通过PHP发送到用户输入的电子邮件地址

时间:2013-11-17 15:24:49

标签: php jquery email

我在这里,甚至被指向这个网站上的正确页面将非常有帮助,因为我发现的一切都可能是中文的。 (到目前为止,我已经学到了足够的PHP和JQuery来实现这一点,这是我对其中任何一个知识的限制。)

我有一个使用JQuery的HTML表单。用户选择他们想要的选项,并在底部给出他们选择的所有内容的总价。我终于将所有这些发送到一个PHP页面,该页面仅列出了他们选择的选项以及所选选项的总数(对我来说是一个重大胜利)。

截至目前,可以打印页面。但我需要整个PHP页面(最好使用相同的格式,但无论如何,只要它包含已创建的数据)通过电子邮件发送到我公司的电子邮件地址和用户输入的地址。很明显,我需要一个文本框,但我对如何发送结果毫无头绪。

我很抱歉,如果这已经在某个地方的某个地方了 - 我确定它是,但它现在对我来说没有意义,而且我已经尝试了很长一段时间。

到目前为止,这是表格:http://f650pickups.com/buildform.html

2 个答案:

答案 0 :(得分:0)

不是一个完整的答案,但是当你开始时,我建议你使用现有的SMTP服务器,就像这个答案所暗示的那样:

Send email using the GMail SMTP server from a PHP page

初学者设置SMTP服务器非常困难,而且听起来不像你问题中的合适工具。

我先发制人地提出此回复,因为大多数初学者通过PHP指导电子邮件,要求您设置并运行自己的本地SMTP服务器。正如我所说,这非常困难。使用Gmail或类似内容通常是实现目标的简便方法。

答案 1 :(得分:0)

这里有两个问题。第一个是如何使用PHP发送电子邮件。这通常使用mail()函数来完成。

您的第二个问题是关于使用PHP发送HTML电子邮件。这就是电子邮件变得非常复杂的地方,使mail()函数几乎完全无用。

除文本之外的任何类型的电子邮件都需要复杂的多部分MIME邮件。不要自己编码,没有意义。相反,请使用为您执行此操作的架子的电子邮件类。有很多可供选择。我推荐PHPMailer

如果您有以下内容来回应表单选择:

echo '<input type="text" value="' . htmlspecialchars($userInputValue) . '" />';

您可以轻松地将此更改为PHPMailer:

$mail = new PHPMailer();
$mail->isHTML(true);
$mail->Body = '<input type="text" value="' . htmlspecialchars($userInputValue) . '" />';

基本上,将Body属性设置为您要通过电子邮件发送的HTML。现在,将$mail->AltBody设置为纯文本版本也很重要。并非所有电子邮件客户端都可以呈现HTML,并且许多移动设备将使用文本版本显示消息预览。现在这很少成为问题,但最佳做法仍然是包含文本版本。

我推荐完整的示例电子邮件:https://github.com/Synchro/PHPMailer#a-simple-example