dextasy2 Opublikowano 10 Czerwca 2015 Udostępnij Opublikowano 10 Czerwca 2015 Witam, Mam problem, ponieważ nie dochodzą maile aktywacyjne - ogólnie rzecz ujmując wiadomości -email wychodzące z serwera. Skrypt odpowiedzialny za wysyłkę wiadomości wygląda następująco: Dane smtp, username, password wpisuję prawidłowo.Próbowałem z kontami e-mail z dwóch serwerów. Co może być przyczyną? <?php class Mail { private $smtpServer = 'mail.adreserwera.pl'; private $port = '25'; private $timeout = '45'; private $username = 'mail@adreserwera.pl'; private $password = 'haslo'; private $newline = "\r\n"; private $localdomain = 'mail.adreserwea.pl'; private $charset = 'utf-8'; private $contentTransferEncoding = true; // Do not change anything below private $smtpConnect = false; private $to = false; private $subject = false; private $message = false; private $headers = false; private $logArray = array(); // Array response message for debug private $Error = ''; public function __construct($to, $subject, $message) { $this->to = &$to; $this->subject = &$subject; $this->message = &$message; // Connect to server if(!$this->Connect2Server()) { // Display error message echo $this->Error.$this->newline.'<!-- '.$this->newline; print_r($this->logArray); echo $this->newline.'-->'.$this->newline; return false; } return true; } private function Connect2Server() { // Connect to server $this->smtpConnect = fsockopen($this->smtpServer,$this->port,$errno,$error,$this->timeout); $this->logArray['CONNECT_RESPONSE'] = $this->readResponse(); if (!is_resource($this->smtpConnect)) { return false; } $this->logArray['connection'] = "Connection accepted: $smtpResponse"; // Hi, server! $this->sendCommand("EHLO $this->localdomain"); $this->logArray['EHLO'] = $this->readResponse(); // Let's know each other $this->sendCommand('AUTH LOGIN'); $this->logArray['AUTH_REQUEST'] = $this->readResponse(); // My name... $this->sendCommand(base64_encode($this->username)); $this->logArray['REQUEST_USER'] = $this->readResponse(); // My password.. $this->sendCommand(base64_encode($this->password)); $this->logArray['REQUEST_PASSWD'] = $this->readResponse(); // If error in response auth... if (substr($this->logArray['REQUEST_PASSWD'],0,3)!='235') { $this->Error .= 'Authorization error! '.$this->logArray['REQUEST_PASSWD'].$this->newline; return false; } // "From" mail... $this->sendCommand("MAIL FROM: $this->username"); $this->logArray['MAIL_FROM_RESPONSE'] = $this->readResponse(); if (substr($this->logArray['MAIL_FROM_RESPONSE'],0,3)!='250') { $this->Error .= 'Mistake in sender\'s address! '.$this->logArray['MAIL_FROM_RESPONSE'].$this->newline; return false; } // "To" address $this->sendCommand("RCPT TO: $this->to"); $this->logArray['RCPT_TO_RESPONCE'] = $this->readResponse(); if (substr($this->logArray['RCPT_TO_RESPONCE'],0,3)!='250') { $this->Error .= 'Mistake in reciepent address! '.$this->logArray['RCPT_TO_RESPONCE'].$this->newline; } // Send data to server $this->sendCommand('DATA'); $this->logArray['DATA_RESPONSE'] = $this->readResponse(); // Send mail message if (!$this->sendMail()) return false; // Good bye server! =) $this->sendCommand('QUIT'); $this->logArray['QUIT_RESPONSE'] = $this->readResponse(); // Close smtp connect fclose($this->smtpConnect); return true; } // Function send mail private function sendMail() { $this->sendHeaders(); $this->sendCommand($this->message); $this->sendCommand('.'); $this->logArray['SEND_DATA_RESPONSE'] = $this->readResponse(); if(substr($this->logArray['SEND_DATA_RESPONSE'],0,3)!='250') { $this->Error .= 'Mistake in sending data! '.$this->logArray['SEND_DATA_RESPONSE'].$this->newline; return false; } return true; } // Function read response private function readResponse() { $data=""; while($str = fgets($this->smtpConnect,4096)) { $data .= $str; if(substr($str,3,1) == " ") { break; } } return $data; } // function send command to server private function sendCommand($string) { fputs($this->smtpConnect,$string.$this->newline); return ; } // function send headers private function sendHeaders() { $this->sendCommand("Date: ".date("D, j M Y G:i:s")." +0700"); $this->sendCommand("From: <$this->username>"); $this->sendCommand("Reply-To: <$this->username>"); $this->sendCommand("To: <$this->to>"); $this->sendCommand("Subject: $this->subject"); $this->sendCommand("MIME-Version: 1.0"); $this->sendCommand("Content-Type: text/html; charset=$this->charset"); if ($this->contentTransferEncoding) $this->sendCommand("Content-Transfer-Encoding: $this->contentTransferEncoding"); $this->sendCommand($this->newline); return ; } public function __destruct() { if (is_resource($this->smtpConnect)) fclose($this->smtpConnect); } } ?> https://zarobkowo.pl - forum o zarabianiu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
qjam Opublikowano 10 Czerwca 2015 Udostępnij Opublikowano 10 Czerwca 2015 Napisz do swojego hostingu czy czasem nie blokują wysyłki maili. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
nomado Opublikowano 10 Czerwca 2015 Udostępnij Opublikowano 10 Czerwca 2015 Daj to na forum php Projektowanie i tworzenie stron internetowych Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dextasy2 Opublikowano 10 Czerwca 2015 Autor Udostępnij Opublikowano 10 Czerwca 2015 Napisz do swojego hostingu czy czasem nie blokują wysyłki maili. Też o tym pomyślałem. Tak też uczyniłem. https://zarobkowo.pl - forum o zarabianiu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
qjam Opublikowano 10 Czerwca 2015 Udostępnij Opublikowano 10 Czerwca 2015 I wiadomo coś? Odpisali? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dextasy2 Opublikowano 10 Czerwca 2015 Autor Udostępnij Opublikowano 10 Czerwca 2015 Czekam. Jak napiszą dam odpowiedź. https://zarobkowo.pl - forum o zarabianiu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mghost.pl Opublikowano 10 Czerwca 2015 Udostępnij Opublikowano 10 Czerwca 2015 Zmień port 25 na 465 lub 587 i dodaj włącz szyfrowanie TLS lub SSL. I pewnie w kodzie gdzieś będziesz musiał dodać: SMTPAuth = true; SMTPSecure = "tls"; TLS to oczywiście port 587. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dextasy2 Opublikowano 11 Czerwca 2015 Autor Udostępnij Opublikowano 11 Czerwca 2015 Wystarczyło zmienienie portu na 587. Wielkie dzięki https://zarobkowo.pl - forum o zarabianiu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxPan Opublikowano 11 Czerwca 2015 Udostępnij Opublikowano 11 Czerwca 2015 tak na przyszłość port 25 już dawno na większości hostingów zablokowany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Zarchiwizowany
Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.