Jak zmienić czcionkę w wysyłanej wiadmości (Indy

0

Hej!

Mam problem, polegający na tym, że w odebranej wiadomości brakuje mi niektórych polskich znaków. Wysyłam używając komponentów idMessage oraz IdSMTP (Delphi7 Enterprise). W żadnej aplikacji pisanej dotychczas problemy nie wystepowały - zauwałyłem to dopiero w poczcie. W komponencie IdSMTP nie na możliwości ustawienia czcionki.

Jesli ktoś ma pomysł, to proszę odpowiedni kod.
Z góry dzięki!

0

Hej!

Mam problem, polegający na tym, że w odebranej wiadomości brakuje mi niektórych polskich znaków. Wysyłam używając komponentów idMessage oraz IdSMTP (Delphi7 Enterprise). W żadnej aplikacji pisanej dotychczas problemy nie wystepowały - zauwałyłem to dopiero w poczcie. W komponencie IdSMTP nie na możliwości ustawienia czcionki.

Chodzi ci o ustawienie kodowania ?

0

Możliwe że to rozwiązało by problem, jednak w parametrze "CharSet" komponentu IdMessage próbowałem wpisywać np. 852 (jako strona kodowa) i przychodziła pusta poczta z załącznikiem. Dlatego zacząłem kombinować, zeby przy wysyłaniu przyporządkować wybrany font. Zasadniczo ratuje mnie sposób na przesłanie listu z wszystkimi polskimi literami jakkolwiek udało by się to zrobić.

0

Trzybobry!

A moze zamiast CP wpisac iso-8859-2 (lub tylko 8859-2). Osobiscie cos tez kombinowalem przy tym, ale nie pamietam [wstyd] efektow. Moze Ci sie uda.

Pozdrawiam [cya]!!

0

Niestety zarówno iso-8859-2 jak i 8859-2 zaskutkowały wiadomością w załączniku. :-(

0

Niestety zarówno iso-8859-2 jak i 8859-2 zaskutkowały wiadomością w załączniku. :-(

[???] to moze przed wypuszczeniem maila, przy dodawaniu body do wylania konwertuj tekst na UTF8 lub jakies inne cudo... Jest kilka funkcji w Delphi, ktore sa za to odpowiedzialne. Popatrz w helpie. Moze to cos da?

Czekam na rozwiazanie, bo sam mam podobny problem :-D

Pozdrawiam!

0

No i udało mi się wykonać konwersję do UTF8. Chwilowe nadzieje jednak rozwiał efekt: mniej polskich znaków, więcej krzaków :-D

0

A nie mozesz po prostu przed wysłanie skonwertowac CP nas ISO ?

0

Ostatecznie możesz wpisać w Charset "Windows-1250"

0

ale kombinujecie.. nie wystarczy przeczytać co pisze w nagłówku wiadomości w sekcji Charset? np wysłać do siebie poczte z ustawionym charsetem w jakimś programi pocztowym, a potem analizować nagłówek

//dopisane:

Soryy, to jest w Content-Tpe, a pisze się np: Content-Type: text/plain; charset="iso-8859-2"

0

Witam wszystkich!
Problem okazuje się chyba bardziej złożony niż mi się wydawało, choć pewnie ktoś w końcu znajdzie tak proste rozwiązanie, że aż trudno będzie uwierzyć :-D Co do parametru CharSet, to po wcisnięciu F1 pojawiaja się podpowiedź co można wpisać. Wypróbowałem (wszystko) i co? E-mail w załączniku. Po ostatniej poradzie spróbowałem zamiast z CharSet to z ContentType (w helpie Delphi7 podaje mi tu takie parametry jak np. "text/html" - też to przerabiałem i nic). Desperacko jednak spróbowałem kodem i dodałem "IdMessage1.ContentType := 'iso-8859-2' i... też dostałem przesyłkę w załączniku... Co do jednej z podpowiedzi ('lofix'), to nie znalazłem sposobu konwersji CP na ISO (przy moich skromnych zasobach wiedzy CP zinterpretowałem jako anglojęzyczny skrót od strona kodowa), a może to by pomogło (wszędzie w parametrach jednak z założenia chyba mam już ISO...).

0

A może ja mam coś nie tak z Windowsami albo z Delphi? Poniżej skrócony kod, którego używam do wysyłania poczty. Czy ktoś spróbuje go sprawdzić u siebie? Chodzi o to, czy po odebraniu poczty będą widoczne w treści polskie znaki. To co jest na czerwono, trzeba podmienić na swoje (oczywiście ten przykład działa tylko na serwerach bez uwierzytelniania nadawcy)...

procedure TForm1.SendMail;
begin
IdMessage1.From.Name := '<font color="red">cokolwiek</span>';
IdMessage1.From.Address := '<font color="red">adres nadawcy</span>';
IdMessage1.Recipients.EMailAddresses := '<font color="red">adres odbiorcy</span>';
IdMessage1.Subject := 'Test maila';
IdMessage1.Body.Append('--------------------');
IdMessage1.Body.Append('PL: ęłśćó ŁÓŚĆŹŻŃ...');
IdMessage1.Body.Append('--------------------');
IdSMTP1.Username := '<font color="red">login</span>';
IdSMTP1.Host := '<font color="red">IP Serwera</span>';
IdSMTP1.Connect;
try IdSMTP1.Send(IdMessage1);
finally IdSMTP1.Disconnect;
IdMessage1.Recipients.Clear;
IdMessage1.BCCList.Clear;
IdMessage1.Body.Clear;
end;
end;

Po wprowadzeniu zmiany parametru w dla IdMessawe w polu CharSet (Object Inspector, lub kodem) treść maila dochodzi jako załącznik (z polskimi znakami, ale niestety w załączniku)...

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