from = $from; $this->to = $to; $this->subject = $subject; $this->msg = $msg; $this->user = $user; $this->password = $password; $this->port = $port; $this->server = $server; } public function send($html=false) { $err = null; $errstr = ""; $this->smtpserverconn = fsockopen($this->server, $this->port, $err, $errstr, 100); $response = fgets($this->smtpserverconn, 515); if ($response === false) { throw new Exception("Could not connect to SMTP server!"); } if ($this->user != null && $this->password != null) { $this->sendCommand("AUTH LOGIN"); $this->sendCommand(base64_encode($this->user)); $this->sendCommand(base64_encode($this->password)); } $this->sendCommand("HELO " . $_SERVER["SERVER_NAME"]); $this->sendCommand("MAIL FROM: " . $this->from); $this->sendCommand("RCPT TO: " . $this->to); $this->sendCommand("DATA"); if ($html) { $this->sendCommand("MIME-Version: 1.0", false); $this->sendCommand("Content-type: text/html; charset=iso-8859-1", false); } $this->sendCommand("From: " . $this->from, false); $this->sendCommand("To: " . $this->to, false); $this->sendCommand("Subject: " . $this->subject, false); $this->sendCommand($this->msg, false); $this->sendCommand("", false); $this->sendCommand(".", false); $this->sendCommand("QUIT"); } private function sendCommand($command, $return = true) { fputs($this->smtpserverconn, $command . "\r\n"); if ($return) return fgets($this->smtpserverconn, 515); else return null; } }