Napisalem sobie prosciutka funkcje do wysylania maila za pomoca polaczenia socketowego z serwerem i wydawania mu polecen SMTP/ESMTP:
<?php $revDNS = gethostbyaddr( $_SERVER['SERVER_ADDR'] ); function putData( $socket, $data ) { } function getData( $socket, $g ) { { { } } } function sendMail() { // CONFIG $from = 'someone@example.com'; $server = 'smtp.example.com'; $pass = 'example'; { case 'timed_out': break; case 'blocked': break; case 'eof': break; } if( $socket ) { $answer = getData( $socket, $answer ); putData( $socket, \"EHLO $revDNS\" ); $answer = getData( $socket, $answer ); } else { } } ?>
Polaczenie jest tworzone bez problemu, odbieram sobie pierwszy komunikat od serwerai wysylam swoj pierwszy:
Kod
Connection successful
220 smtp.poczta.onet.pl ESMTP (6) our local time is now Mon, 17 Jan 2005 13:21:38 +0100
EHLO moj.revdns.provider.pl
220 smtp.poczta.onet.pl ESMTP (6) our local time is now Mon, 17 Jan 2005 13:21:38 +0100
EHLO moj.revdns.provider.pl
Teraz serwer zwraca mi pare linijek, w ktorych sie chwali tym, co obsluguje. No i wlasnie tutaj pojawia sie problem. Bo pierwsza linijke (220...) mi odbiera, a jak odkomentuje nastepne wywolanie getData, to skrypt sie zawiesza. Wyglada tak, jakby byl w nieksonczonej petli, ale nie mam pojecia dlaczego. Wydaje mi sie, ze warunek w while'u jest dobry. Probowalem nawet samo substr, ale to nic nie dalo.
Olek
Hmm... nie mozna dwa razy pod rzad? Bez sensu troche, wlasnie teraz by sie przydalo. No ale coz. W kazdym razie juz wiem czemu nie dzialalo. Wysylalem
<?php 'rn' ?>
zamiast
<?php \"rn\" ?>