Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z PEAR Net_SMTP, Prośba o pomoc w pokonaniu problemu z PEAR::Net_SMTP
Dudon
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.05.2011

Ostrzeżenie: (0%)
-----


Hej,
próbuje napisać klasę, która odpowiadała by za wysyłanie maili do użytkowników portalu. Jeżeli ktoś posiada książke "PHP 5 Zaawansowane Programowanie" to jest to zagadnienie przedstawione w 14 rozdziale. Korzystam z klasy biblioteki PEAR, Net_SMTP. Generalnie wszystko działa ("chyba") do pewnego momentu, kiedy to do serwera SMTP wysyłana jest komenda "DATA". Nie wiem dlaczego, ale wtedy wszystko się wali :/ . Będę wdzięczny za pomoc. Kody podane ponizej

Kod klasy Communication:
http://wklej.to/tCLPH
Kod klasy EmailComunication:
http://wklej.to/JQgjk
Kod index.php
http://wklej.to/aFdah
Kod klasy EmailRecipient
http://wklej.to/FatB6

Próbuje to uruchomić na home.pl. Moje ciągłe próby walki z tym można zobaczyć na http://www.oneimage.pl/

Ten post edytował Dudon 23.05.2011, 17:29:40
Go to the top of the page
+Quote Post
404
post
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Możesz sprawdzić co zwraca serwer?
Go to the top of the page
+Quote Post
Dudon
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.05.2011

Ostrzeżenie: (0%)
-----


Pear zwraca to "Invalid response code received from server"
Go to the top of the page
+Quote Post
404
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Mi bardziej chodzi wartość, którą zwróci Net_SMTP::getResponse.
Go to the top of the page
+Quote Post
Dudon
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.05.2011

Ostrzeżenie: (0%)
-----


Jak poszperalem to wyswietla error code =503 wiec cos w tym stylu "Bad sequence of commands"

a to o co pytales ma sie tak
Array ( [0] => 503 [1] => 5.5.1 Waiting for RCPT command )

chyba wiem już co jest nie tak. Wydaje mi się że nie wchodzi wogole do tej petli foreach. Powalcze z tym jeszcze za chwile.
Go to the top of the page
+Quote Post
404
post
Post #6





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Coś mi się zdaje, że masz błąd w pętli:
  1. foreach ($this->arRecipientCollection as $strRecipientIdentifier => $objEmailRecipient)
  2. {
  3. $strThisAddress = $objEmailRecipient->getRecipientAddress();
  4.  
  5. if( PEAR::isError($res = $smtp->rcptTo($strThisAddress)) )
  6. {
  7. $this->strErrorMessage = "Nie da się dodać adresata " . $strThisAddress;
  8. echo "Nie da się dodać adresata " . $strThisAddress;
  9. $this->errorCode = 4;
  10. $smtp->disconnect();
  11. return(false);
  12. }
  13. }

Spróbuj najpierw wysłać wiadomość tylko do jednego adresata.

Ten post edytował 404 23.05.2011, 18:09:46
Go to the top of the page
+Quote Post
Dudon
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.05.2011

Ostrzeżenie: (0%)
-----


ok juz działa dzieki na naprowadzenie (IMG:style_emoticons/default/biggrin.gif)

Ok mam jeszcze jedno pytanie. Probowałem ustawić temat, bawiąc sie nagłówkami ( dodawałem Subject: costam) w roznych miejsach ale nie zadziałało. Ma ktoś pomysł?
Go to the top of the page
+Quote Post
kiler129
post
Post #8





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Pobaw sie telnetem i poznaj protokół SMTP.
Generlanie prawidłowa komunikacja wygląda tak:
Kod
$ telnet mail.server.pl 25
Trying 11.12.13.14...
Connected to mail.server.pl.
Escape character is '^]'.
220 mail.server.pl ESMTP Postfix
EHLO example.com
250-mail.server.pl
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM:ktos@example.com
250 2.1.0 Ok
RCPT TO:grzegorz@server.pl
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject:testowy mail
Testowa tresc maila
.
250 2.0.0 Ok: queued as AA327125B48
QUIT
221 2.0.0 Bye
Connection closed by foreign host.


Ten post edytował kiler129 31.05.2011, 00:46:13
Go to the top of the page
+Quote Post
Dudon
post
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.05.2011

Ostrzeżenie: (0%)
-----


Nie no ok to wiem wszystko (IMG:style_emoticons/default/biggrin.gif) (przynajmniej takie podstawy) Problem tkwi w tym, ze probowałem tego, ale nie chce działać. No ale to moze wina godziny spróbuje jeszcze jutro

Nie no ok to wiem wszystko (IMG:style_emoticons/default/biggrin.gif) (przynajmniej takie podstawy) Problem tkwi w tym, ze probowałem tego, ale nie chce działać. No ale to moze wina godziny spróbuje jeszcze jutro. Jbc wszysto co wysyłam po wrzuceniu DATA

Subject: test

From: Duda Piotr<piotr.duda@onetrade.pl>
To: Piotr Duda<pdudon@gmail.com>
Date: Tue, May 31 03:01:34 CEST 2011 +0200

test

Wysyłałem to w róznych konfiguracjach i wcale nie bylo lepiej :/
Go to the top of the page
+Quote Post
kiler129
post
Post #10





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Po 1 pamięteaj o zakończeniu linii \r\n zamiast \n.
Do tego tutaj każda wolna linia ma znaczenie! O ile dobrze kojarzę to powinieneś wysłać takie nagłówki:

Kod
From: Duda Piotr<piotr.duda@onetrade.pl>
To: Piotr Duda<pdudon@gmail.com>
Subject: test

test
.
Go to the top of the page
+Quote Post
Dudon
post
Post #11





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.05.2011

Ostrzeżenie: (0%)
-----


Udało mi się dzisiaj. Problemem była spacja ktora dodałem po znakach konca linii. I dlatego nie mogłem jej poczatkowo znalezc. Dzieki za wskazówki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:33