求一个稳定经得住考验的smtp发送邮件的类(请付上使用方法),万分感谢!我找了几个,有的不能用,发不出,有的居然没有正文;还有一个正文这些都有,但没发几封就说 "帐号已经被锁定 ",discuz\phpwind这些的邮件类又搞得太复杂,剥离不出来!谢谢拉!!!用mail函数和iis得smtp,它又老是说address invalid!怎么改地址都不行: "aaa " or "[email protected] ",都是错得如果比较大,[email protected],请发到邮箱,谢谢!发邮件者20分起哈,如果正确得话60分起!------解决方案--------------------php
debug = FALSE;$this-> smtp_port = $smtp_port;$this-> relay_host = $relay_host;$this-> time_out = 30; //is used in fsockopen()$this-> auth = $auth;//auth$this-> user = $user;$this-> pass = $pass;$this-> host_name = "localhost "; //is used in HELO command$this-> log_file = " ";$this-> sock = FALSE;}/* Main Function */ function sendmail($to, $from, $subject = " ", $body = " ", $mailtype, $cc = " ", $bcc = " ", $additional_headers = " "){$mail_from = $this-> get_address($this-> strip_comment($from));$body = ereg_replace( "(^|(\r\n))(\.) ", "\1.\3 ", $body);$header .= "MIME-Version:1.0\r\n ";if($mailtype== "HTML "){$header .= "Content-Type:text/html\r\n ";}$header .= "To: ".$to. "\r\n ";if ($cc != " "){$header .= "Cc: ".$cc. "\r\n ";}$header .= "From: $from \r\n ";$header .= "Subject: ".$subject. "\r\n ";$header .= $additional_headers;$header .= "Date: ".date( "r "). "\r\n ";$header .= "X-Mailer:By Redhat (PHP/ ".phpversion(). ")\r\n ";list($msec, $sec) = explode( " ", microtime());$header .= "Message-ID: \r\n ";$TO = explode( ", ", $this-> strip_comment($to));if ($cc != " "){$TO = array_merge($TO, explode( ", ", $this-> strip_comment($cc)));}if ($bcc != " "){$TO = array_merge($TO, explode( ", ", $this-> strip_comment($bcc)));}$sent = TRUE;foreach ($TO as $rcpt_to){$rcpt_to = $this-> get_address($rcpt_to);if (!$this-> smtp_sockopen($rcpt_to)){$this-> log_write( "Error: Cannot send email to ".$rcpt_to. "\n ");$sent = FALSE;continue;}if ($this-> smtp_send($this-> host_name, $mail_from, $rcpt_to, $header, $body)){$this-> log_write( "E-mail has been sent to \n ");}else{$this-> log_write( "Error: Cannot send email to \n ");$sent = FALSE;}fclose($this-> sock);$this-> log_write( "Disconnected from remote host\n ");}return $sent;
