下面是我在编辑邮件发送系统程序出的一个小错误:Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini请问应该怎么样该php.ini?

解决方案 »

  1.   

    检查一下你的php.ini中[mail function]
    ; For Win32 only.
    SMTP = localhost
    smtp_port = 25是否正确
      

  2.   

    是正确的啊[mail function]
    ; For Win32 only.
    SMTP = SMTTP
    smtp_port = 25; For Win32 only.
    ;sendmail_from = [email protected]; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    ;sendmail_path =; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =
      

  3.   

    上面打错了,是这个
    [mail function]
    ; For Win32 only.
    SMTP = localhost
    smtp_port = 25
    请问到底应该怎么样该?
      

  4.   

    我的mail.PHP文件时:<?php
    //
    // +----------------------------------------------------------------------+
    // | PHP Version 4                                                        |
    // +----------------------------------------------------------------------+
    // | Copyright (c) 1997-2003 The PHP Group                                |
    // +----------------------------------------------------------------------+
    // | This source file is subject to version 2.02 of the PHP license,      |
    // | that is bundled with this package in the file LICENSE, and is        |
    // | available at through the world-wide-web at                           |
    // | http://www.php.net/license/2_02.txt.                                 |
    // | If you did not receive a copy of the PHP license and are unable to   |
    // | obtain it through the world-wide-web, please send a note to          |
    // | [email protected] so we can mail you a copy immediately.               |
    // +----------------------------------------------------------------------+
    // | Author: Chuck Hagenbuch <[email protected]>                            |
    // +----------------------------------------------------------------------+
    //
    // $Id: mail.php,v 1.14 2005/08/09 04:54:37 jon Exp $/**
     * internal PHP-mail() implementation of the PEAR Mail:: interface.
     * @package Mail
     * @version $Revision: 1.14 $
     */
    class Mail_mail extends Mail {    /**
         * Any arguments to pass to the mail() function.
         * @var string
         */
        var $_params = '';    /**
         * Constructor.
         *
         * Instantiates a new Mail_mail:: object based on the parameters
         * passed in.
         *
         * @param array $params Extra arguments for the mail() function.
         */
        function Mail_mail($params = null)
        {
            /* The other mail implementations accept parameters as arrays.
             * In the interest of being consistent, explode an array into
             * a string of parameter arguments. */
            if (is_array($params)) {
                $this->_params = join(' ', $params);
            } else {
                $this->_params = $params;
            }        /* Because the mail() function may pass headers as command
             * line arguments, we can't guarantee the use of the standard
             * "\r\n" separator.  Instead, we use the system's native line
             * separator. */
            $this->sep = (strpos(PHP_OS, 'WIN') === false) ? "\n" : "\r\n";
        } /**
         * Implements Mail_mail::send() function using php's built-in mail()
         * command.
         *
         * @param mixed $recipients Either a comma-seperated list of recipients
         *              (RFC822 compliant), or an array of recipients,
         *              each RFC822 valid. This may contain recipients not
         *              specified in the headers, for Bcc:, resending
         *              messages, etc.
         *
         * @param array $headers The array of headers to send with the mail, in an
         *              associative array, where the array key is the
         *              header name (ie, 'Subject'), and the array value
         *              is the header value (ie, 'test'). The header
         *              produced from those values would be 'Subject:
         *              test'.
         *
         * @param string $body The full text of the message body, including any
         *               Mime parts, etc.
         *
         * @return mixed Returns true on success, or a PEAR_Error
         *               containing a descriptive error message on
         *               failure.
         *
         * @access public
         */
        function send($recipients, $headers, $body)
        {
            // If we're passed an array of recipients, implode it.
            if (is_array($recipients)) {
                $recipients = implode(', ', $recipients);
            }        // Get the Subject out of the headers array so that we can
            // pass it as a seperate argument to mail().
            $subject = '';
            if (isset($headers['Subject'])) {
                $subject = $headers['Subject'];
                unset($headers['Subject']);
            }        // Flatten the headers out.
            $headerElements = $this->prepareHeaders($headers);
            if (PEAR::isError($headerElements)) {
                return $headerElements;
            }
            list(, $text_headers) = $headerElements;        /*
             * We only use mail()'s optional fifth parameter if the additional
             * parameters have been provided and we're not running in safe mode.
             */
            $warnings = '';
            ob_start();
            if (empty($this->_params) || ini_get('safe_mode')) {
                $result = mail($recipients, $subject, $body, $text_headers);
            } else {
                $result = mail($recipients, $subject, $body, $text_headers,
                               $this->_params);
            }
            $warnings = ob_get_contents();
            ob_end_clean();
            /*
             * If the mail() function returned failure, we need to create a
             * PEAR_Error object and return it instead of the boolean result.
             */
            if ($result === false) {
                $result = PEAR::raiseError('mail() returned failure<br />'.$warnings);
            }        return $result;
        }}
    ?>
      

  5.   

    确定你本机是否有安装邮件服务器软件;
    其次,从你的配置文件看是有错误的,有些行是被注释掉的(前面有分号的);
    第三,即便是你本机安装了邮件服务器软件,也不能对外发送邮件,因为你的ip不是公网ip,也没有域名指向