0

我使用 Windows XP Pro 从头开始​​用 XHTML 编写了一个网站,其中包括一个 PHP 联系表。该网站位于 C 驱动器上的 XAMPP 文件夹中,并在我家中的计算机上的 localhost 下运行。

我想通过将电子邮件测试消息从它发送到我的实时电子邮件地址来测试表单。我已经尝试通过将SMTP = localhostPHP.ini文件中的更改为我的 ISP 服务器地址,激活该行,

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

并在下面一行的开头添加一个分号,

sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"  

我已将我的实时电子邮件地址放在联系表单代码中,如下所示:

<?php

//send email

    if(mail('my@emailaddress.net','Contact 

form',$msg, 'From:postmaster@localhost')) {

?>

然后我尝试了另一种方法,将我的电子邮件地址放在下面if(POST) function

<?php

if($_POST) {

$fName = $_POST['fName'];

$fEmail = $_POST['fEmail'];

$fComments = $_POST['fComments'];

$fCaptcha = $_POST['fCaptcha'];

$random_string = $_POST['random_string'];

$to = "myemailaddress@myisp.net";

?>

并相应地更改了脚本中较低的邮件功能:

<?php

//send email

mail($to, $fName, $fEmail, $fComments);

if(mail($to,'Contact form',$msg, 'From:postmaster@localhost')) {

    header("Location: ../email-thankyou.htm");

?>

当我单击提交按钮时,它第一次从我的 ISP 服务器生成了一个错误页面,并在以后的尝试中从 Firefox 浏览器生成了一个错误页面,所以发生了一些事情,但是在查看我的实时电子邮件帐户时,没有我的消息的迹象到达。

我还发现当我尝试第二种方法时单击提交按钮时,表单本身消失了,只剩下页面的背景颜色。

我已经通过 Stack Overflow 搜索了类似的查询,并尝试了一些建议但没有成功。

我正在使用 XAMPP 版本 3.1.0.3.1.0。尽管我精通 XHTML 编码,但在 PHP 编程方面我是一个完全的新手,因为这个使用 PHP 的项目是我第一次尝试掌握它,并且非常感谢所提供的任何帮助和建议,特别是关于编写 mail($to, and if(mail($to, out正确。

我现在通过在我的 C 盘上下载并安装 smtp4dev 2009 找到了这个问题的答案。将这个小程序与 XAMPP 结合使用,我现在可以测试我的联系表单并成功接收消息。我唯一需要做的就是配置 XAMPP php ini 文件,如下所示:

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
 SMTP = localhost
 smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = postmaster@localhost

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces      (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  

; XAMPP: Comment out this if you want to work with fakemail for forwarding to your  mailbox (sendmail.exe in the sendmail folder)
;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

就之前点击发送按钮时表单消失的问题而言 - 部分脚本位于错误的位置,经过一些尝试和错误定位后,这个问题得到了解决。

4

1 回答 1

0

您想设置水星或本地邮件服务器来执行此操作。Mecury 随 xampp 一起安装。

http://www.youtube.com/watch?v=VU4PT7xMSO0

于 2013-07-15T14:44:03.143 回答