php通过 smtp发送邮件问题

程序中:$this->smtp_putcmd("", base64_encode($this->pass)
登陆密码base64后明文发送,认证方式为未加密方式,163的邮箱支持未加密的认证,其他邮箱就未必了,而且像google邮箱也不接受来自本localhost主机发送的邮件,只接受开放smtp服务的主机发送邮件。

以下这段程序是原来写的,探测smtp主机的,在$server数组中添加smtp主机就可以了,只有返回AUTH LOGIN PLAIN的才可以用你说的程序发送邮件:

<?
set_time_limit( 0 );
$server = array(
                "smtp.163.com",
                "smtp.sina.com",
                "smtp.google.com",
                    );
echo "<pre style='font-size:12px;font-family:verdana'>";
foreach ( $server as $key => $val) {
    $fp = fsockopen( $val, 25, $errno, $errstr, 10 );
    if ( $errno !==0 ) {
        echo("Can not connect to $val .\r\n");
        continue;
        }
     echo "\r\n<font color=red>$val</font> \r\n";
     echo fread( $fp, 1024);
     fputs( $fp, "EHLO localhost\r\n" );
     echo fread( $fp, 1024 );
     fclose( $fp );