从网络表单发送信息

时间:2013-01-29 08:42:44

标签: php forms smtp

我正在尝试通过网络表单发送电子邮件但我收到错误...... 我在一个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,如果有人可以帮我看看我做错了会很棒

1 个答案:

答案 0 :(得分:0)

您是否在本地计算机上运行sendmail服务器?你可以得到它here

出于测试目的,您可以使用test mail server tool。它将模拟发送电子邮件。