[ BlueSoniq @ 14.01.2004. 12:02 ] @

Posle uvodne USER/PASS korespodencije server salje veci broj redica koji su da
kazemo u osnovi slicni, ali niti je to uvek pravilo, niti je redosled isti, neshvatam kako programi za email uopste 'znaju' sta je sta?

[ markom @ 14.01.2004. 12:19 ] @
ftp://ftp.ripe.net/rfc/rfc2822.txt
[ BlueSoniq @ 14.01.2004. 13:21 ] @
To ne pise nista sto vec ne znam. Kao sto sam napisao:

pa za prioriti dolazi maltene od svakog programa/sistema drugaciji red.
Pa onda MIME, isto nekoliko razlicitih redova, pa base64, pa neki put
se attachment nalazi odmah posle "Content-Type" a negde ispod svog texta, pa negde pise Status: OK, negde nema toga itd?

Meni treba da precizno utvrdim odakle pocinje attachment, i da ga eventualno preskocim, da ne gusi dok skida mailove.

Jedino sto sam utvrdio da se svaki attachment zavrsava sa '==', a svaki kraj poruke sa '.' .


Da li neko mozda ima konkretnije resenje?
[ markom @ 14.01.2004. 13:58 ] @
U zaglavljima poruke pronađi zaglavlje "Content-type". U njemu ima element "boundary". Ovaj podatak definiše okvire elemenata u MIME enkapsuliranojh poruci.

Ne mogu sad da tražim i MIME RFC (ako ti imaš vremena: http://www.rfc-editor.org/), al' bilo je reči o ovome i ranije na forumima.

Marko.
[ mmix @ 14.01.2004. 14:17 ] @
Citat:
BlueSoniq:
To ne pise nista sto vec ne znam. Kao sto sam napisao:

pa za prioriti dolazi maltene od svakog programa/sistema drugaciji red.
Pa onda MIME, isto nekoliko razlicitih redova, pa base64, pa neki put
se attachment nalazi odmah posle "Content-Type" a negde ispod svog texta, pa negde pise Status: OK, negde nema toga itd?

Meni treba da precizno utvrdim odakle pocinje attachment, i da ga eventualno preskocim, da ne gusi dok skida mailove.

Jedino sto sam utvrdio da se svaki attachment zavrsava sa '==', a svaki kraj poruke sa '.' .

Da li neko mozda ima konkretnije resenje?


Tebi treba format MIME-a, pogledaj sledeće RFCove (pominju se u uvodu RFC-a 2822 koje ti je markom dao):

ftp://ftp.ripe.net/rfc/rfc2045.txt
ftp://ftp.ripe.net/rfc/rfc2046.txt
ftp://ftp.ripe.net/rfc/rfc2049.txt

Inače, imaš par problema u svojim namerama:
1. Ne možeš tako jednostavno da nešto proglasiš za attachement samo zato što je deo MIME poruke, da bi razlučio tekst poruke encodiran base64 algoritmom (moguće i legalno ma koliko debilno zvučalo ) od attachement-a recimo "poruka.txt" koji je u plain-text-u moraš da pogledaš content-disposition za SVAKI deo mime poruke. i da tražiš one poruke koje na primer imaju
content-disposition: attachment; "poruka.txt"
2. Mail server (POP3) po standardu ne zalazi u analizu MIME poruke i poruke servira u celosti, što će reći, biće ti servirana cela poruka sa svim attachmentima, ti možeš da iskluliraš deo poruke zato što je attachment, ali si ga svejedno skinuo u procesu svlačenja poruke...
Čak i da analiziraš i prekineš konekciju kad naletiš na attachement, možda ide i tekstualni deo iza tog attachement, a da bi našao početak te MIME sekcije, moraš da nađeš kraj attachementa, tj. da ga skineš celog. I povrh svega toga, POP3 ne podržava resume, tako da svako skidanje poruke uvek ide od početka do kraja.
Naravno ovo sve pod uslovom da praviš POP3 client, ako pišeš server, onda je druga priča i onda ti možeš da radiš te stvari... (ali )
3. ako pišeš neki custom POP3 server, imaš jedan drugi problem sa svojom namerom, a to su potpisane poruke... ako ukineš attachement i ne serviraš ga klijentu, klijent će dobiti da je poruka menjana u transportu ili će joj čak faliti sam potpis (koji je skriveni attachement)

U principu POP3 je samo transportni layer, ne bi trebao uopšte da se bakćeš sa sadržajem poruke, već samo sa mail hederima koje ti je markom dao u RFCu, to je sve što ti je potrebno. MIME format je nešto što treba da analizira i prikazuje mail klijent (nezavisno od POP3) i to tek kad poruka "legne" na klijenta.

pozdrav.
[ BlueSoniq @ 14.01.2004. 15:58 ] @


+OK message 6 (635 octets)
Return-Path: <[email protected]>
Received: from 192.xxxx ([19xxxx1.13]) by 19xxxx.1.1 (WinRoute Pro 4.1) with SMTP; Tue, 30 Dec 2003 14:05:08 +0100
From: <[email protected]>
To: <[email protected]>
Subject: ert
Date: Tue, 30 Dec 2003 14:05:07 +0100
Message-ID: <[email protected]>
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft CDO for Windows 2000
Thread-Index: AcPO1Yli2FLMdfmDTgOzEN7ycp7m1g==
Content-Class: urn:content-classes:message
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165

erwtr
+OK message 8 (707 octets)
Return-Path: <[email protected]>
Received: from 192.xxxxxx13 ([19xxxxx3]) by 1xxxxx1.1 (WinRoute Pro 4.1) with SMTP; Tue, 30 Dec 2003 12:31:49 +0100
From: <[email protected]>
To: <[email protected]>
Subject: aaaaaaaaaaaaaaaaaaaaaaaaaa
Date: Tue, 30 Dec 2003 12:31:48 +0100
Message-ID: <[email protected]>
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft CDO for Windows 2000
Thread-Index: AcPOyIGfgAawfWAqSfGvISjSqAq6Jw==
Content-Class: urn:content-classes:message
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa



Ukoliko analiziramo gornje hedere dolazi se do zakljucka sa se body poruke nalazi
neposredno posle reda "X-MimeOLE" i ja cu procitati to i staviti u neku promenljivu da bi to posle mogao da prikazem na ekranu.


ALI......(uvek ima neko ali)


--- ima jos pre ovog ali je ovo bitno:

MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2

Hello All,

Poslednji update za Norton Antivirus je stigao:



Ovaj deo ne prati gornju logiku.


A posebno sledeci deo:



X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: Mozda ti se svidi. neka logicka igrica?
Thread-Index: AcPV1nInnBcFyg4kSjO38Uv67fjOVAAAdG7w
From: "Axxxxxxxic" <[email protected]>
To: "Dejan" <[email protected]>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by wh19.inet.co.yu id i08DBPV25836
Status:

Cini mi se intersantno i za ucenje neuralnih mreza.

Pogledacu bolje kad stignem.



Tako da je prilicno komplikovano odrediti cak i sta je od svega body poruke!

Nego jel bi mogao neko da napise i koji redic koda?
[ markom @ 14.01.2004. 16:11 ] @
Kao što ti je mmix rekao, sve ti piše u onim RFC-ovima. Nema potrebe ni za kakvim neuronskim mrežama, već samo za pravilnu primenu standarda.

Evo ti ukratko:

Redosled zaglavlja nije bitan. Telo poruke počinje posle prvog praznog reda. Samo telo može biti "izdeljeno" na više delova po MIME standardu, a delovi su definisani u osnovnom zaglavlju u "Content-type" liniji.


Marko.
[ BlueSoniq @ 16.01.2004. 10:19 ] @
E sad tu ide sledece pitanje:

Sve ta zaglavlja poruka ubacena su u ListView. Imam problem, nemogu da saznam koji je selektovani red, da pomocu njega ispisem telo selektovane poruke.

Takodje da li neko zna kako da ispitam sta npr. pise u drugoj koloni selektovanog reda?


[ mmix @ 17.01.2004. 09:34 ] @
Citat:
BlueSoniq:
E sad tu ide sledece pitanje:

Sve ta zaglavlja poruka ubacena su u ListView. Imam problem, nemogu da saznam koji je selektovani red, da pomocu njega ispisem telo selektovane poruke.

Takodje da li neko zna kako da ispitam sta npr. pise u drugoj koloni selektovanog reda?



neka ti je lv instanca ListView-a

lv.SelectedItems ti vraća kolekciju tipa ListView.SelectedListViewItemCollection (koja podržava i IEnumerable), i čiji su elementi (u Item indexeru) uvek tipa ListViewItem. ListViewItem ima property Text kojom očitavaš sadržaj. Dakle:

lv.SelectedItems[0].Text

ako je lv.MultiSelect = true, onda ova kolekcija može imati više elemenata (svi selektovani redovi)