php发送邮件 _smtp = $value; }public function setUser($value) {$this-_user = base64_encode($value);}public function setPassword($value) {$this-_password = base64_encode($value);} public function setFrom($value) { $this-_from = base64_enc
_smtp = $value; } public function setUser($value) { $this->_user = base64_encode($value); } public function setPassword($value) { $this->_password = base64_encode($value); } public function setFrom($value) { $this->_from = base64_encode($value); } public function setTo($value) { $this->_to = $value; } public function setToNickname($value) { $this->_toNickname = base64_encode($value); } public function setSubject($value) { $this->_subject = base64_encode($value); } public function setData($value) { $this->_data = $value; } public function setCharset($value) { $this->_charset = $value; } public function setMime($value) { switch($value) { case 1: $this->_type = 'text/plain'; break; case 2: $this->_type = 'text/html'; break; } } public function send() { $fp = $this->_sock(); $from = base64_decode($this->_user).'@'.substr($this->_smtp, 5); $content = "MIME-Version:1.0\r\n"; $content .= "Content-type:$this->_type;charset=$this->_charset\r\n"; $content .= "from:=?$this->_charset?B?$this->_from?=<$from>\r\n"; $content .= "to:=?$this->_charset?B?$this->_toNickname?=<$this->_to>\r\n"; $content .= "subject:=?$this->_charset?B?$this->_subject?=\r\n"; $content .= "\r\n"; $content .= $this->_data; $content .= "\r\n.\r\n"; if(false == $fp) { return false; } elseif(false == $this->_cmd($fp, "HELO $this->_smtp\r\n", '250')) { return false; } elseif(false == $this->_cmd($fp, "auth login\r\n", '334')) { return false; } elseif(false == $this->_cmd($fp, "$this->_user\r\n", '334')) { return false; } elseif(false == $this->_cmd($fp, "$this->_password\r\n", '235')) { return false; } elseif(false == $this->_cmd($fp, "MAIL FROM:<$from>\r\n", '250')) { return false; } elseif(false == $this->_cmd($fp, "RCPT TO:<$this->_to>\r\n", '250')) { return false; } elseif(false == $this->_cmd($fp, "DATA\r\n", '354')) { return false; } elseif(false == $this->_cmd($fp, $content, '250')) { echo 'error'; return false; } elseif(false == $this->_cmd($fp, "QUIT\r\n", '221')) { return false; } else { return true; } } private function _sock() { $fp = fsockopen($this->_smtp, $this->_port); $response = fgets($fp); if (false != strstr($response, '220')) { return $fp; } else { return false; } } private function _cmd($handle, $cmd, $status) { fputs($handle, $cmd); $response = fgets($handle); if (false != strstr($response, $status)) { return true; } else { return false; } } } //eg //$m = new Smtp(); //$m->setSmtp(服务器地址); //$m->setUser(用户名); //$m->setPassword(密码); //$m->setFrom(发件人昵称);//部分服务器生效 //$m->setTo(收件人邮箱); //$m->setToNickname(收件人昵称);//部分服务器生效 //$m->setSubject(主题); //$m->setData(内容); //$m->send(); //eg end ?>