olesio napisał(a)
Co do postępu to w przypadku SynDL : THttpSend, robiłem tak i działalo ok,
ale nie wiem jak to się zachowa w przypadku e-maili.
Z tym się będę bawił na końcu, najpierw czy da się wysłać wszystko : )
olesio napisał(a)
Co do zakodowania w
odpowiedni sposób nagłowka, to może Misiekd albo ktoś inny tutaj Tobie coś
więcej doradzi, bo ja wiem, że EncodeMessage powinno pomóc, w jednym z
prostych programów ktory mial odpisywać automatycznie jeżeli wśród emaili
po pobraniu były jakieś o określonym temacie użyłem DecodeMessage i mi z
tekstem wprowadzonym w polu edycyjnym zadziałal kiedy porównywalem z
sobą dwa tematy, ten z wiadomości odkodowany i ten z pola edycyjnego.
Dzięki, ale już sobie poradziłem.
olesio napisał(a)
A może coś Tobie podpowiedzą te dwa źródła. Wrzucilem na swoje konto - w
MediaFire, to linki raczej nie wygasną. Archiwa ważą trochę bo ja zawsze,
wszystkie potrzebne pliki do skompilowania staram się trzymać w katalogu
z plikiem projektu, a dodalem też biblioteki dla kont z SSL (choćby gmail):
http://www.mediafire.com/file/za6lz57g39ar7zv/autor_response_email.rar
oraz http://www.mediafire.com/file/i4gupz1pz8o94o7/wysylanie_emaili.rar
Uhm, łudziłem się że może będziesz miał tam HTML'a : ) Teraz z tym walczę.
Trochę ten synapse mi się wydaje niedokończony / niedorobiony. Jest fajna metoda AddPartTextEx, ale już AddParthHTMLEx nie ma, i trzeba drugi raz wywoływać EncodePart po wyłączeniu konwersji charsetu.
Tak czy siak da się, czyli w zasadzie:
- maile z HTML'em, częscią tekstową, obrazkami, załącznikami
- kodowanie tekstu (UTF-8 lub ISO) chce móc to ustawić
spełnione. Zerkając na SendToRaw:
// if you need support for upgrade session to TSL/SSL, uncomment next lines:
// SMTP.AutoTLS := True;
// if you need support for TSL/SSL tunnel, uncomment next lines:
// SMTP.FullSSL := True;
Można by zakładać że obsługa TLS/SSL też jest. Chociaż opcja jej włączania przed odkomentowanie linii jest ... uhm. Może autor stawiał przede wszystkim na prostotę kodu - niewątpliwie mu się udało.
Jeśli chodzi o thread-safe - z tego co widziałem używasz tego w wątkach - nie masz z tym problemów ? Z tego co widzę w kilku unitach są zmienne globalne, ale pare razy widziałem też sekcje krytyczne, więc może jest thread safe.
Została licencja ...
http://ararat.cz/synapse/doku.php/license
Czyli - na tyle na ile znam angielski - trzeba zamieścić info w aplikacji ?
No i progressbar. Coś w blcksock niby jest, jakieś OnStatus, OnMonitor, OnHeartBeat ... na pierwszy rzut oka bardziej kuszące było by jednak dołożenie callback'a do function TSMTPSend.MailData(const Value: TStrings): Boolean;, tam jest pętla po wszystkich liniach zencodowanej wiadomości. Więc zarówno callback do postępu, jak i możliwość przerwania wysyłki prosto dało by się zrobić.
Ale to już nie na tą godzinę (bez pepsi).
b