Domanda

Sono nuovo qui quindi prima di tutto il mio saluto a voi

Sto scrivendo un'applicazione per funzionare su Windows Mobile (Pocket PC). Cordiali saluti, sto usando VB.NET.

La mia idea è quella di utilizzare il mio account di posta elettronica con il mio fornitore, che mi dà un sacco GB: s da usare, come un disco di archiviazione virtuale online. In poche parole, più o meno come il GMAIL-drive, che potete leggere su. Ho già scritto il codice per la connessione, utilizzando un telnet-socket, a conti SMTP, POP3 e IMAP del mio provider. Posso entrare e, quindi, fin qui tutto bene.

Nel mio caso specifico, io non sono interessato a delle e-mail themselfes, ma in realtà gli allegati, che saranno il mio file su questo storgae-carta virtuale. Ho trovato un sacco di lezioni gratuite, per lo più in C #, per scaricare le e-mail con allegati e più importante, il MIME-analisi. Purtroppo tutte queste classi, in un modo o nell'altro, utilizza le classi / spazi dei nomi del Net Framework che non sono inclusi nel NET Compact Framework che viene utilizzato da Windows Mobile. Scrivi MIME parser me è troppo complesso per me e la mia conoscenza.

Quindi, almeno per quanto riguarda il mio codice per la ricezione via POP3 o IMAP, pensavo che una volta ho scaricato tutti i byte sul mio dispositivo, vorrei semplicemente analizzare l'e-mail completo (verifica dove i confini sono) e ottenere la parte (s) che sono stati codificati in Base64 e poi decodificarlo e rinominarlo con il nome e l'estensione del file, che ho scritto nel soggetto campo della e-mail al momento dell'invio. In questo modo, ho potuto forse evitare ogni cose su MIME e tutti i suoi significati ...

Che riguarda, l'invio attraverso' SMTP, devo ancora esaminare il problema. Tutte le idee sarebbe apprezzato.

Ci scusiamo per questo romanzo - che ne pensi? - posso skip MIME-parser e basta usare normale stringa-analisi

Cordiali saluti, Moster67

È stato utile?

Soluzione

Un parser MIME è solo un parser stringa. Sono molto facili da scrivere, soprattutto se si sa che si desidera solo / bisogno di un sottoinsieme dei tipi MIME. Occhiata RFC e realizzare da soli.

Altri suggerimenti

Si può provare a cercare i href="http://en.wikipedia.org/wiki/MIME#Multipart_messages" nelle intestazioni di posta e poi dividere il e-mail su questa stringa. L'analisi del sottoparti sarà IMHO necessario (codifica e charset vengono in mente, basta far cadere le intestazioni non funziona nella maggior parte dei casi), ma un po 'più facile che fare con l'intero messaggio in una sola volta.

Una parola di cautela: questo è un approccio friabile - sarà il lavoro su alcuni messaggi, ma rompere sugli altri (ad esempio, i messaggi in più annidati, cambiando stringa di confine (non dovrebbe, ma potrebbe accadere), ecc.)

scrivendo un parser di stringa del messaggio di posta elettronica è in realtà la scrittura di un semplice parser MIME. È possibile scrivere un parser MIME quick-and-dirty in poche ore. Se si intende utilizzare per l'analisi di mail simili (per esempio inviato da un luogo dal medesimo software client) deve tutto il necessario.

Per ulteriori dettagli su MIME vedere

A pochi giorni di lavoro dovrebbero essere realistici. Sono stato coinvolto nello sviluppo di un semplice parser MIME in-house (preso qualche giorno per incidere e analizzato il 95% delle e-mail ricevute), che envolved in un prodotto commerciale (pochi mesi di lavoro, tonnellate di unittest e hudreds di messaggi di posta elettronica di prova davvero vierd dal selvaggio) e poi è stato modificato in modo che possa essere utilizzato in struttura compatta (cambia a causa di dispositivi di memoria limitata, cambia perché solo piccola porzione di framework NET viene portato su NET CF). E aggiungere riscrittura di abbastanza grande parte della funzionalità CryptoAPI al fine di rendere firmato e crittografato S / MIME messaggi di posta elettronica funzionano su .NET CF.

Il parser MIME fa parte del Rebex Secure Mail for .NET / .NET CF componenti e può essere scaricata da http://www.rebex.net/secure-mail.net/

Sono supportate tutte le versioni di .NET e .NET CF. Anche i dinosaurus .NET CF1 ;-). Tuttavia, non è gratuito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top