ďťż
Podstrony
|
telcocafeWitam, mam skrypt:<?php function Error($msg) { /* funkcja wyswietla komunikat bledu pocztym konczy dzialanie programu. Wlasciwie stanowi niejako alias do funkcji die() */ echo $msg; exit; } error_reporting (E_ERROR | E_WARNING | E_PARSE); // wyswietlaj bledy set_time_limit(30); // time-out na 30 sek. class Mail { var $host; // host, z ktorym bedziemy sie laczyc var $socket; // uchwyt var $mail_subject; // temat listu var $mail_sender; // nadawca var $mail_recipient; // odbiorca var $mail_content; // treść var $log; // log function Mail($server_host) { if (empty($server_host)) { Error('Nie wpisałeś hosta, z którym mam się połączyć'); } $this->host = $server_host; } function connect() { /* otwarcie gniazdka (laczenie sie z serwerem poczty) */ $this->socket = fsockopen($this->host, 25, $errno, $error, 30); if (!$this->socket) { Error("$error ($errno)"); } /* wyslanie tekstu przywitalnego */ $this->send_cmd("HELO " . $this->host . "\r\n"); } function disconnect() { /* rozlaczenie z serwerem; przed tym nalezy jednak wyslac polecenie QUIT */ $this->send_cmd("QUIT\r\n"); fclose($this->socket); } function send_cmd($var_command) { /* funkcja wysyla do gniazdka polecenie z parametru $var_command oraz odczytuje odpowiedz z serwera i przypisuja ja do zmiennej $log */ if ( fwrite($this->socket, $var_command) ) { $this->log .= fgets($this->socket, 100) . '<br>'; } } function set_mail_sender($var_sender) { $this->mail_sender = $var_sender; } function set_mail_recipient($var_recipient) { $this->mail_recipient = $var_recipient; } function set_mail_subject($var_subject) { $this->mail_subject = $var_subject; } function set_mail_content($var_content) { $this->mail_content = $var_content; } function send_mail() { if (empty($this->mail_recipient) || empty($this->mail_sender)) Error('Nie wpisałeś nadawcy lub odbiorcy e-maila!'); /* nadawca wiadomosci */ $this->send_cmd("MAIL FROM: <" . $this->mail_sender . ">\r\n"); /* odbiorca wiadomosci */ $this->send_cmd("RCPT TO: <" . $this->mail_recipient . ">\r\n"); /* informuje, ze zaraz rozpoczniemy wysylanie danych */ $this->send_cmd("DATA\r\n"); /* temat wiadomosci */ $this->send_cmd("Subject: " . $this->mail_subject . "\r\n"); /* kodowanie */ $this->send_cmd("Content-type: text/html; charset=iso-8859-2\r\n"); /* naglowki */ $this->send_cmd("From: " . $this->mail_sender . "\r\n"); $this->send_cmd("Reply-To: " . $this->mail_sender . "\r\n"); $this->send_cmd("Return-Path: " . $this->mail_sender . "\r\n\r\n"); /* tresc wiadomosci */ $this->send_cmd($this->mail_content . "\r\n"); $this->send_cmd(".\r\n"); // koniec wiadomosci } } $mail = new Mail('smtp.gmail.com'); $mail->set_mail_sender('adresmoj.gmail.com'); $mail->set_mail_recipient('adreczyis.gmail.com'); $mail->set_mail_subject('Testowy temat'); $mail->set_mail_content('Jakas tresc'); $mail->connect(); $mail->send_mail(); $mail->disconnect(); echo $mail->log; ?> Jednak e-mail nie jest wysyłany prawidłowo. Co powinnam zrobić aby wysłać za pomocą tego skryptu e-maila z konta gmail? Z góry dziękuje Pozdrawiam A może zamiast HELO winno być EHLO ? Bo sporo serwerów nie rozumie "HELO" :P Poza tym, nie widzę tutaj przesyłania base-m hasła do autoryzacji konta... więc w jaki sposób mogłabym wysłać e-maila z tego skryptu? co powinnam dodać? Jednak e-mail nie jest wysyłany prawidłowo. Co to znaczy że e-mail nie jest wysyłany prawidłowo? Jakie otrzymujesz błędy? chodziło mi o to że nie jest w ogóle wysyłany |
|||
Sitedesign by AltusUmbrae. |