Delphi - dziwny błąd w Indy IdSmtp

0

Witam! Potrzebuję mieć w Delphi funkcję wysyłającą maila z aplikacji ( wyniki testów z programu testującego - rozsyłane automatycznie do użytkowników ). Rozpocząłem testy z kompunentami Indy i mam problem - używam CHYBA wersji Indy 10 ( te z delphi 2007 )

Mam na formie takie komponenty:

  • Idsmpt1
  • idantifreeze
  • idmessage
  • IdSSLIOHandlerSocketOpenSSL
  • IdSASLCRAMMD5

-> wszystko WYDAJE MI SIĘ skonfigurowane w IdSmtp / Idmessage itd

dodatkowo wgrałem 2 odpowiednie DDLki z Openssla do katalogu windows\system32

Robiąc testy załozyłem sobie darmowe konto na o2 - do wysyłania maili - jednak w czasie wysyłania wyskakuje taki błąd

Project Project1.exe raised exception class EIdSMTPReplyError with message''.

Dziwne to o tyle że wydawało mi się że poustawiałem wszystko - uwierzytelnianie itd :/ - jakieś pomysły? Z góry dzięki

0

Pokaż kod

0

Obłóż to w try except on E : Error do Begin is E is ...Reply .. then ...Reply(E). <- i tutaj będziesz miał kilka pól typu Integer. One sładają się w jednen ciąg np 5.3.0 (zresztą string ze złożonę wartością chyba też jest). A potem jak masz kod błędu to idziesz do odpowiedniego RFC i masz wszystko napisane. Od biedy (dla leniów) możesz zrobić:

on E : Exception do ShowMessage(E.Message) i wkleić to na forum, to może ktoś Ci pomoże a może tam będzie jak byk napisane co jest nie tak.

Swoją drogą jak być wkleil kod to być nie zgrzeszył.

0

do bobika -> na ten error nie pomaga Twój sposób - ponieważ dokładnie taki sam problem odnalazłem na jakimś zagranicznym forum - i też gościowi ktoś polecał zastosowanie Twojej metody - zwrotem w takim przypadku jest nr błędu ( którego nikt nie potrafił zinterpretować ) i pusty String - tak PUSTY STRING - ten string wraca też w postaci PUSTEGO meesagu w moim programie.

0

co do kodu - to posługuję się dokładnie tym co jest tutaj

http://coding.derkeiler.com/Archive/Delphi/comp.lang.pascal.delphi.misc/2007-11/msg00072.html

0

zaczyna mnie to Indy wkurzać - czy jest jakiś inny komponent, któy pozwala bez wykorzystywania systemowych programów do poczty wysyłać maile z procesem autoryzacji? bo drugi raz poskładałem ten program i drugi raz nic...

0

OK - > mam nowe info

WYSYŁANIE ZADZIAŁAŁO - ale wyłącznie z pocztą GOOGLI -> tzn były błędy na początku ale ich serwer przynajmniej odpowiadał LOGICZNIE co jest nie tak!

z polskich - o2 - ciągle odpowiada pustym stringiem / wp.pl tak samo - i w ogóle -> w goglarzu było widać że COŚ SIĘ DZIEJE a na o2 od razu trup - ciekawe czemu tak się dzieje... no cóż ja już mam co chciałem więc w sumie wątek się zakończył - ale jak ktoś ma jakiś pomysł co do polskich trudności to niech napisze :)

0
=X= napisał(a)

do bobika -> na ten error nie pomaga Twój sposób - ponieważ dokładnie taki sam problem odnalazłem na jakimś zagranicznym forum - i też gościowi ktoś polecał zastosowanie Twojej metody - zwrotem w takim przypadku jest nr błędu ( którego nikt nie potrafił zinterpretować ) i pusty String - tak PUSTY STRING - ten string wraca też w postaci PUSTEGO meesagu w moim programie.

Ciekawa sprawa że nikt nie potrafi zinterpretować. To na ogół powinno być ujęte w odpowiednie RFC (dotarłeś do tych kodów błędów). Tak czy siak, fajnie by było jakbyś ten kod błędy wkleił.

Dla pewności:

...
(E as EIdSMTPReplyError).EnhancedCode
...

to ma takie property:

property StatusClass : Cardinal read FStatusClass write SetStatusClass default CLASS_DEF;
property Subject : Cardinal read FSubject write FSubject default NODETAILS;
property Details : Cardinal read FDetails write FDetails default NODETAILS;
property Available : Boolean read FAvailable write SetAvailable default AVAIL_DEF;
property ReplyAsStr : String read GetReplyAsStr write SetReplyAsStr;

Ja pisałem o tym ReplyAsStr.

Jest jeszcze jedna opcja - debugger. Często gęsto musiałem się barać w tym Indy, i bardzo często pomagał debugger. Możesz po prostu odczytać odpowiedź od serwer'a <- może ona coś Ci podpowie.

// dopisane

Jeszcze sobie przypomniałem o jednej rzeczy. Indy 10.0.72 (czy jakoś tak) ma dużo błędów, z których większość jest poprawiona w 10.1.5 (czy jakoś tak). Jak Ci się nie uda zainstalować, to spróbuj obczaić dlaczego idzie pusty message w wyjątku i porównaj zmiany w tym IdXXXUnicie

A co do innych komponentów, nie pamiętam i sam ich nie używałem, ale zawsze pada jakaś odpowiedź na to pytanie na forum (~Synapse).

1 użytkowników online, w tym zalogowanych: 0, gości: 1