Cum să gestionați mai corect mesajele e-mail - directorul delphi

Buna ziua tuturor!
Recomandă, plz, cine a fost implicat în derularea programelor de corespondență pe componenta indy. Cum să gestionăm corect mesajele Am complexitatea planului următor. Există un astfel de cod






Se pare că totul funcționează bine până se ajunge la atașați! Este pur și simplu descompune un program cu o TextCount eroare trebuie să fie> 1, apoi trimite o HO, un Outlook afișează în loc de textul scrisorii Acesta este un mesaj multiplu în format MIME. Dar, în același timp, dacă vă uitați la întregul text cu toate titlurile, atunci există o scrisoare originală. dar nu este corect (așa cum am înțeles) multiporturi procesate. Pe scurt, aștept sfaturi și sugestii. Poate cineva va sfătui alte componente, doar pliz sau cu exemple. sau unde puteți lua.

Este foarte simplu.
Este doar necesar să cunoaștem puțin standardul MIME. Are o proprietate ca Content-Type, care se găsește peste tot în documentele Internet, inclusiv prin e-mailuri. Cel mai adesea este de trei tipuri.






1. text / plain - text simplu fără formatare și atașamente.
2. text / html - text cu formatare html, dar și fără atașamente.
3. multipart / mixt - o scrisoare complexă compusă din mai multe părți.
În primele două cazuri, corpul mesajului este stocat în idMessage.Body. Și cu a treia este oarecum mai complicată. Mesajul constă din mai multe părți, iar unul dintre ele (primul din cont) este textul. Și fiecare parte ar trebui să fie specificată Content-Type. Aceste componente sunt, în idMessage.MessageParts și pot fi de două tipuri: TidText și TidAttachmentFile Așa ar trebui să arate:

Dar aceasta se aplică numai literelor cu atașamente. Când primiți scrisori, toate aceste părți incluse. iar textul va fi în idMessage.MessageParts. Numărul este mai bine cunoscut doar de Count și TextCount este mai bine să nu folosești. Prin modul în care au primit scrisori Content-Type pot fi găsite din aceleași proprietăți, astfel încât în ​​același mod mozho să învețe litere și charset (KOI, WIN, UTF).







Trimiteți-le prietenilor: