0

Web フォームを介してメールを送信しようとしていますが、エラーが発生します...... 1 つのサーバーが mysql を実行する Windows サーバー 2008 R2 (64 ビット) 分割サーバー (2 サーバー環境) で PHP 環境を構成しました。もう 1 つのサーバーは、php と apache (xammp を使用してインストール) を実行します。Web サイトを実行すると、次のエラーが表示されます。

警告: mail() [function.mail]: 「localhost」ポート 25 でメールサーバーに接続できませんでした。php.ini で「SMTP」と「smtp_port」の設定を確認するか、C:\xampp\htdocs\ で ini_set() を使用してください。 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を理解しています。誰かが私が間違っていることを理解するのを手伝ってくれるなら、それは素晴らしいことです

4

1 に答える 1

0

ローカル マシンで sendmail サーバーを実行しましたか? ここで入手できます。

テスト目的で、テスト メール サーバー ツールを使用できます。メールの送信をエミュレートします。

于 2013-01-29T08:51:48.483 に答える