我使用Windows XP Pro使用XHTML从头开始编写了一个网站,其中包括PHP中的联系表单。该网站位于C盘上的XAMPP文件夹中,并在家中的计算机上的localhost下运行。
我想通过发送电子邮件测试邮件到我的实时电子邮件地址来测试表单。我已经尝试过将PHP SMTP = localhost
文件中的.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"
对于单击“发送”按钮时表单的早期问题消失,关注 - 脚本的一部分位于错误的位置,经过一些试验和错误定位后,此问题得以解决。
答案 0 :(得分:0)
您想要设置水银或本地邮件服务器才能执行此操作。 Mecury安装了xampp。