magento发送邮件是基于服务器 sendmail服务(不作评价)  我们常常面对无法发送邮件的问题 在查出原因之前 不妨试试以下方法 这里提供的是php方法 不习惯也可以使用php-java-bridge使用java操作 因为不同的邮局结果也会不一样 建议开启调试 无误后再关闭

使用socket(套接字)发送邮件:

    private $lastmessage; //记录最后返回的响应信息 
    private $lastact; //最后的动作,字符串形式 
    private $welcome; //用在HELO后面,欢迎用户 
    private $debug; //是否显示调试信息 
    private $smtp; //smtp服务器 需要与发送邮箱对应
    private $port; //smtp端口号 
    private $fp; //socket句柄 

    private function init_mail($smtp, $welcome = "", $debug = false) {
        if (empty($smtp))
            die("SMTP cannt be NULL!");
        $this->smtp = $smtp;
        if (empty($welcome)) {
            $this->welcome = gethostbyaddr("localhost");
        }
        else
            $this->welcome = $welcome;
        $this->debug = $debug;
        $this->lastmessage = "";
        $this->lastact = "";
        $this->port = "25";
    }

    private function show_debug($body, $inout) {
        if ($this->debug) {
            if ($inout === "in") {
                $m = '<< ';
            }
            else
                $m = '>> ';
            if (!ereg("\n$", $body))
                $body .= "<br />";
            $body = nl2br($body);
            echo "<span style="color: #999999;">$m$body</span>";
        }
    }

    private function do_command($command) {
        $this->lastact = $command;
        $this->show_debug($this->lastact, "out");
        fputs($this->fp, $this->lastact);
        $this->lastmessage = fgets($this->fp, 512);
        $this->show_debug($this->lastmessage, "in");
        if (!ereg("^[23]", $this->lastmessage)) {
            return false;
        }
        else
            return true;
    }

    private function sendMail($body, $email) {
        $this->lastact = "connect";

        $this->show_debug("Connect to SMTP server : " . $this->smtp, "out");
        $this->fp = fsockopen($this->smtp, $this->port);
        if ($this->fp) {

            set_socket_blocking($this->fp, true);
            $this->lastmessage = fgets($this->fp, 512);
            $this->show_debug($this->lastmessage, "in");

            if (!ereg("^220", $this->lastmessage)) {
                return false;
            } else {
                $this->lastact = "HELO " . $this->welcome . "\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }

                $this->lastact = "AUTH LOGIN\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }
                
                $this->lastact = base64_encode("/*发送邮件的邮箱*/")."\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                    
                }$this->lastact = base64_encode("/*邮箱密码*/")."\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }
                
                $this->lastact = "MAIL FROM:</*发送邮箱*/>\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }

                $this->lastact = "RCPT TO:</*目标邮箱*/>\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }

                $this->lastact = "DATA\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }

                $head = "Subject: /*主题*/\n\n";
                if (!ereg($head, $body)) {
                    $body = $head . $body;
                }

                $head = "From: /*邮件中显示的邮箱 如果不是上面的邮箱 会提示代发*/\n";
                if (!ereg($head, $body)) {
                    $body = $head . $body;
                }

                $head = "To: /*目的邮箱 如果不是上面的邮箱 即为密送*/\n";
                if (!ereg($head, $body)) {
                    $body = $head . $body;
                }

                if (!ereg("\n\.\n", $body))
                    $body .= "\n.\n";
                $this->show_debug($body, "out");
                fputs($this->fp, $body);

                $this->lastact = "QUIT\n";
                if (!$this->do_command($this->lastact)) {
                    fclose($this->fp);
                    return false;
                }
            }
            return true;
        } else {
            $this->show_debug("Connect failed!", "in");
            return false;
        }
    }