[ voja15 @ 10.07.2010. 11:01 ] @
Pošto imam ograničenje od 500 mejlova na sat na hostu, pokušavam da zaobiđem svoj smtp server kako bih brže poslao mejlove na mailing listu. E sad, problem nastaje pri komunikaciji sa serverom (koristio sam svoj server da testiram skriptu - gmail mi je čak odbio konekciju iako sam mu namestio i port i ssl). Zaustavi se na prvom odgovoru koji šalje kad je konekcija uspešna (ime servera,vreme itd.) i kao da ne prihvata dalje komande. Probao sam i sa localhosta (imam web server na kompu) sa istom skriptom, i isto se dešava. Međutim, ukoliko se ručno konektujem na server preko telneta u ubuntu terminalu i otkucam iste komande, mejl se pošalje bez problema.
Hvala unapred na pomoći.

P.S.
Evo i koda:
Code:
 function send_direct($server) {
   $newline="\r\n";
   $localhost='127.0.0.1';

   $sh = fsockopen($server, 25, $errno,$errstr,15);
   if (!$sh) {
    $error= "Failed to connect to $server ". $errno . " | " . $errstr;
    return $error;
   }

   $verify = fgets($sh, 128);
   if (!preg_match("/220/",$verify)) {
       $error="Verify Error, No connect string recieved | $verify";
       return $error;
   } 

    fputs($sh,"HELO $localhost".$newline);
    fwrite($sh,"MAIL FROM: <$this->from>\r\n");
    fwrite($sh,"RCPT TO: <$this->to>\r\n");
    fwrite($sh,"DATA\n");
    fwrite($sh,"From: <$this->from>\r\n");
    fwrite($sh,"Content-type: text/html; charset=UTF-8\r\n");
    fwrite($sh,"Reply-To:<$this->from>\r\n");
    fwrite($sh,"Subject: $this->subject\r\n");
    fwrite($sh,"To: $this->to\r\n");
    fwrite($sh,"$this->text\r\n");
    fwrite($sh,".\r\n");
    $verify = fgets($sh,128);
    if (!preg_match("/250/",$verify)) {
      $error="Error: ". $verify;
      return $error;   
    } 

   $success="Poruka poslata.";
   fwrite($sh,"QUIT\r\n");

   fclose($sh); 
 }
[ flylord @ 10.07.2010. 14:02 ] @
Jel hoces da ucis kako se to pravi ili samo hoces da resis problem. Ako hoces da resis problem koristi http://swiftmailer.org/. Radi odlicno sa gmailom, i ja sam slao 3-5 miliona mailova sa njim mesecno. Tako da radi super
[ voja15 @ 10.07.2010. 14:32 ] @
Hvala na linku, ali voleo bih da naučim kako se to radi. Nije mi samo jasno zašto ova skripta ne radi, a komande za server su ispravne.
[ voja15 @ 10.07.2010. 16:36 ] @
Izvinjavam se na duplom postu, ali našao sam u čemu je bio problem, pa bih da podelim sa drugima. Kad sam promenio nešto oko skladištenja serverovog odgovora, dobijem grešku invalid HELO name - access denied. U novijim verzijama servera opcija za proveru HELO imena je po defaultu uključena. Dakle, tu treba upisati domen ili ip servera sa kojim se vrši komunikacija.
Nisam još pokušao da namestim gmail, ali nadam se da će i ovo nekome koristiti.