我正在尝试通过网络表单发送电子邮件但我收到错误...... 我在一个Windows服务器2008 R2(64位)拆分服务器(2服务器环境)上配置我的php环境,其中一个服务器运行mysql,另一个服务器运行php和apache(使用xammp安装)。运行网站时出现以下错误:
警告:mail()[function.mail]:无法连接到“localhost”端口25的邮件服务器,验证php.ini中的“SMTP”和“smtp_port”设置或使用C:\ xampp中的ini_set()行上的\ htdocs \ contact.php
以下是php脚本:
if(empty($_POST) === false)
{
//Array to store and output errors
$errors = array();
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$feedback = $_POST['feedback'];
//check if the all the required fields have been completed
if(empty($name)=== true || empty($email)=== true || empty($subject)=== true || empty($feedback) === true)
{
$errors[] = 'Name, email, subject and message are required';
}
else
{
//check if the email is valid
if(filter_var($email,FILTER_VALIDATE_EMAIL) === false )
{
$errors[] = 'That\'s not a valid email address';
}
//check if the name contains any numbers
if (ctype_alpha($name)=== false)
{
$errors[] = 'Name must only contain letters';
}
}
}
//if there are no errors then send the email
if(empty($errors) === true)
{
//send email
mail('erecruitment@saqa.co.za','$subject','$feedback','FROM:'.'$email');
//redirect users
header('Location: contact.php?sent');
//exit();
}
以下是来自php.ini文件:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com
我还在处理php,如果有人可以帮我看看我做错了会很棒
答案 0 :(得分:0)
您是否在本地计算机上运行sendmail服务器?你可以得到它here。
出于测试目的,您可以使用test mail server tool。它将模拟发送电子邮件。