Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

slanje mejla preko smtp servera

[es] :: PHP :: slanje mejla preko smtp servera

[ Pregleda: 1650 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

voja15

Član broj: 263769
Poruke: 6
212.178.229.*



Profil

icon slanje mejla preko smtp servera10.07.2010. u 11:01 - pre 147 meseci
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); 
 }
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.dynamic.sbb.rs.

ICQ: 4849714


+68 Profil

icon Re: slanje mejla preko smtp servera10.07.2010. u 14:02 - pre 147 meseci
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
 
Odgovor na temu

voja15

Član broj: 263769
Poruke: 6
212.178.229.*



Profil

icon Re: slanje mejla preko smtp servera10.07.2010. u 14:32 - pre 147 meseci
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.
 
Odgovor na temu

voja15

Član broj: 263769
Poruke: 6
212.178.229.*



Profil

icon Re: slanje mejla preko smtp servera10.07.2010. u 16:36 - pre 147 meseci
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.
 
Odgovor na temu

[es] :: PHP :: slanje mejla preko smtp servera

[ Pregleda: 1650 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.