Wysyłanie poczty za pomocą Indy10

0

Witam!
NA komponentach Indy8 zrobiłem wysyłanie poczty wraz z załącznikami, a obecnie mam Indy 10 (D2005) i nie mogę dołączyć załączników. Wiem, ze jest przykład w artykułach, identyczny z moimi doświadczeniami z Indy8, ale obecnie on nie działa. Najpierw przykład, a potem wyjaśnienie problemu:

IdMessage1.Body.Append('TREŚĆ MAILA');
IdMessage1.Recipients.EMailAddresses := '[email protected]';
IdMessage1.Subject := 'TEMAT';
idSMTP1.Password := 'HASŁO DO KONTA';
idSMTP1.Username := 'NAZWA UŻYTKOWNIKA';
idSMTP1.Host := 'HOST DO POŁĄCZENIA';
TIdAttachment.Create(IdMessage1.MessageParts, 'SCIEŻKA DO PLIKU KTÓRY MA BYĆ W ZAŁĄCZNIKU');
IdSMTP1.Connect;
try
  IdSMTP1.Send(IdMessage1);
finally
  IdSMTP1.Disconnect;
end;

Nie działa linia
TIdAttachment.Create(IdMessage1.MessageParts, 'd:\test.txt);
Poniewaz oryginalna metoda TIdAttachment.Create z 2 parametrami jest przysłonięta przez TMessageParts.Create która ma tylko pierwszy z parametrów. Nie potrafię w żaden sposób ominąć tego problemu i wpisać jakkolwiek który plik bym chciał wysłać. Pocztą bez załączników wysyłam bez problemów.
Czy ktoś zetknął się z takim problemem i mógłby podzielić się rozwiązaniem?
Być może mam źle zaistalowane komponenty, lub w jakiś specjalny sposób trzeba je instalować?

0

Kiedyśje bardzo chwaliłem, ale obecnie mam problem, bo jest jakaś zmiana pomiędzy wersjami 8 i 10. W przykładach instalowanych razem z nimi jest tylko odbieranie, a w googlach są same sprawdzone przyklady z 8 i kilka zapytańo to co ja bez odpowiedzi (było jedno pytanie nawet tutaj, tylko źle sprecyzowane)

0

Indy jest do d**y, zmiana (istotna) specyfikacji między poszczególnymi wersjami, w kolejnej wersji zamiast poprawiać stare błędy to dodawane są coraz to nowe wodotryski i nowe błędy, lakoniczna dokumentacja i rozmiar całego pakietu jak dla mnie go przekreślają. Zamiast lepiej ICS lub Synapse. Jednak ICS SSL ma płatny lecz jest prostszy w użyciu od Synapse. Mój osobisty typ to Synapse - trzeba się trochę więcej napracować ale ma się pełną kontrolę nad tym co się dzieje.

Jeśli koniecznie chcesz pozostać przy Indy to teraz (v10) zamiast TIdAttachment jest TIdAttachmentFile
tu masz demo http://www.indyproject.org/DemoDownloads/Indy_10_MailClient.zip ze strony http://www.indyproject.org/Sockets/Demos/index.en.aspx

0

Dziękuję za pomoc, czytałem o tej zmianie TIdAttachment na TIdAttachmentFile, ale jakos źle ją stosowałem (Czasem po 50 próbach człowiek już się zapętla).
Wystarczy użyć TIdAttachmentFile.Create zamiast TIdAttachment.Create i będzie działać.
Jeśli chodzi o zmiany to faktycznie nie podobają mi się, bo porządne oprogramowanie nie powinno w ciągu 1,5-2 lat ewoluowac na tyle, że starsze wersje przestają działać.
Andrzej Dąbrowski

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