Ciao a tutti, la mia domanda puo sembrare banale, ma nel momento in cui si invia o si riceve una mail, questa in che formato viene "crata"? Ad esempio su outlook quale formato viene utilizzato?

Grazie a tutti....

Ricardo.

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
5.610 messaggi dal 09 febbraio 2002
Contributi
ciao, intendi dire il formato usato dal programma di posta per memorizzare l'email sul disco? Outlook per esempio archivia il messaggio originale in un file .pst usando un formato proprietario. Outlook Express utilizza dei file .dbx, mentre Thunderbird si limita ad accodarli in un file di testo di tipo mbox (mi pare) e poi mantiene un indice dei contenuti. Ognuno usa il suo sistema di archiviazione, ma in tutti i casi il messaggio originale MIME resta inalterato affinché possa poi essere riletto, salvato o reinoltrato ad altri.

ciao

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
Grazie mille Bright, infatti volevo sapere proprio questo, il formato nel quale vengono spedite le mail (MIME).

Secondo te, è possibile salvare il contenuto di una mail (MIME a questo punto) in modo automatico su un'applicazione web? Mi spiego meglio meglio, se io ho outlook (come anche qualsiasi altro sistema) ed invio le mail ad esempio un indirizzo preimpostato, il quale poi provvederà a raccogliere la mail e a salvarla su un db sql, si riesce a fare? se si, quali sono secondo te i namespace chiamati in causa per la "lettura" di queste mail?

Grazie ancora e buona giornata!

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
5.610 messaggi dal 09 febbraio 2002
Contributi
Ciao, il formato MIME è testuale quindi tutte le informazioni sono in chiaro ma ti sarà estremamente utile una libreria tipo questa:
http://www.codeproject.com/KB/cs/mime_project.aspx

ricardo78 ha scritto:

invio le mail ad esempio un indirizzo preimpostato, il quale poi provvederà a raccogliere la mail e a salvarla su un db sql, si riesce a fare?


sì, si può fare. Quando la mail verrà recapitata all'indirizzo preimpostato, resterà lì in attesa di essere letta. Tu dovrai collegarti al server di posta mediante protocollo IMAP o POP3 e scaricare periodicamente ogni nuova e-mail in maniera programmatica. Ti possono aiutare client tipo questi:
http://www.codeproject.com/KB/IP/imaplibrary.aspx
http://hellowebapps.com/products/imapx/
http://www.codeproject.com/KB/IP/despop3client.aspx

Il protocollo IMAP, in particolare, supporta anche le notifiche dal server, quindi se non vuoi stare a fare polling ogni 5 minuti, avresti l'opportunità di mantenere aperta una connessione al server ed essere notificato dell'arrivo di nuovi messaggi in tempo reale. Non mi addentro in questo discorso perché non ne ho esperienza, e tutto dipende da come è configurato il server di posta. Chiedi la fattibilità all'amministratore di sistema ma se anche dovessi fare polling riuscirai comunque ad ottenere tutti i messaggi giunti nella casella nel frattempo.

In un modo o nell'altro, quando hai ottenuto il messaggio MIME dal server, lo potrai parsare con la suddetta libreria, e inserire in un database le informazioni che avrai estratto.

Ricapitolando, avresti questa catena di eventi:
  • 1. Un utente invia un'email usando Outlook o altro programma di posta ad un'indirizzo prestabilito
  • 2. Il tuo programma usa un client IMAP o POP3 per accedere alla casella e controlla la presenza di nuovi messaggi
  • 3. Se ci sono nuovi messaggi, li scarica e ne parsa il contenuto grazie alla libreria che ti ho linkato in alto
  • 4. Tali informazioni vengono quindi inserite nel database
  • Opzionalmente, al termine di questa operazione il messaggio di posta viene rimosso dalla casella.


Poi c'è un'alternativa che sarebbe interessante esplorare: le FileTable di Sql Server 2012 (Denali). Se il server di posta è sotto il tuo controllo e se riesci ad accedere alla cartella in cui vengono fisicamente memorizzati i messaggi di posta, allora potresti creare una FileTable direttamente su quella cartella. Così salteresti a piè pari i punti 2, 3 e 4 e avresti la possibilità di eseguire query SQL direttamente su quei messaggi, come se fossero records di una tabella tradizionale. So che si possono effettuare ricerche sui metadati dei file, ma non ti so dire se il motore riesce esso stesso ad estrarre informazioni dal formato MIME come l'indirizzo del mittente o l'oggetto della mail. Giusto per curiosità, qui c'è un video introduttivo che ne mostra il funzionamento.
http://www.youtube.com/watch?v=64m8nf0eLK8

ciao
Modificato da BrightSoul il 06 dicembre 2011 22.38 -

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
BrightSoul ha scritto:
Ciao, il formato MIME è testuale quindi tutte le informazioni sono in chiaro ma ti sarà estremamente utile una libreria tipo questa:
http://www.codeproject.com/KB/cs/mime_project.aspx

ricardo78 ha scritto:

invio le mail ad esempio un indirizzo preimpostato, il quale poi provvederà a raccogliere la mail e a salvarla su un db sql, si riesce a fare?


sì, si può fare. Quando la mail verrà recapitata all'indirizzo preimpostato, resterà lì in attesa di essere letta. Tu dovrai collegarti al server di posta mediante protocollo IMAP o POP3 e scaricare periodicamente ogni nuova e-mail in maniera programmatica. Ti possono aiutare client tipo questi:
http://www.codeproject.com/KB/IP/imaplibrary.aspx
http://hellowebapps.com/products/imapx/
http://www.codeproject.com/KB/IP/despop3client.aspx

Il protocollo IMAP, in particolare, supporta anche le notifiche dal server, quindi se non vuoi stare a fare polling ogni 5 minuti, avresti l'opportunità di mantenere aperta una connessione al server ed essere notificato dell'arrivo di nuovi messaggi in tempo reale. Non mi addentro in questo discorso perché non ne ho esperienza, e tutto dipende da come è configurato il server di posta. Chiedi la fattibilità all'amministratore di sistema ma se anche dovessi fare polling riuscirai comunque ad ottenere tutti i messaggi giunti nella casella nel frattempo.

In un modo o nell'altro, quando hai ottenuto il messaggio MIME dal server, lo potrai parsare con la suddetta libreria, e inserire in un database le informazioni che avrai estratto.

Ricapitolando, avresti questa catena di eventi:
  • 1. Un utente invia un'email usando Outlook o altro programma di posta ad un'indirizzo prestabilito
  • 2. Il tuo programma usa un client IMAP o POP3 per accedere alla casella e controlla la presenza di nuovi messaggi
  • 3. Se ci sono nuovi messaggi, li scarica e ne parsa il contenuto grazie alla libreria che ti ho linkato in alto
  • 4. Tali informazioni vengono quindi inserite nel database
  • Opzionalmente, al termine di questa operazione il messaggio di posta viene rimosso dalla casella.


Poi c'è un'alternativa che sarebbe interessante esplorare: le FileTable di Sql Server 2012 (Denali). Se il server di posta è sotto il tuo controllo e se riesci ad accedere alla cartella in cui vengono fisicamente memorizzati i messaggi di posta, allora potresti creare una FileTable direttamente su quella cartella. Così salteresti a piè pari i punti 2, 3 e 4 e avresti la possibilità di eseguire query SQL direttamente su quei messaggi, come se fossero records di una tabella tradizionale. So che si possono effettuare ricerche sui metadati dei file, ma non ti so dire se il motore riesce esso stesso ad estrarre informazioni dal formato MIME come l'indirizzo del mittente o l'oggetto della mail. Giusto per curiosità, qui c'è un video introduttivo che ne mostra il funzionamento.
http://www.youtube.com/watch?v=64m8nf0eLK8

ciao
Modificato da BrightSoul il 06 dicembre 2011 22.38 -

Ciao Bright, guarda mi hai dato veramente delle indicazioni preziose, ma forse ho tralasciato un particolare forse non di poco conto. Cioè il discorso di salvare su una mia applicazione delle mail la devo fare per alcuni miei clienti, che vorrebbero avere la disponibilità online di "un contenitore" dove memorizzare le loro email più importanti. Quindi alla fine c'è da tener conto che ogni cliente dovrà avere un proprio account dove memorizzare, cancellare e/o consultare le proprie email. In questo senso volevo creare un'applicativo che memorizzi in automatico queste mail e pensavo ad uno scenario del genere dove per semplicità di utilizzo il cliente semplicemente invia la mail a quel indirizzo email creato ad hoc...

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
5.610 messaggi dal 09 febbraio 2002
Contributi
ciao,


pensavo ad uno scenario del genere dove per semplicità di utilizzo il cliente semplicemente invia la mail a quel indirizzo email creato ad hoc...


sì, questo è ok. L'utente sceglie quali email inserire nel "contenitore" inoltrandole ad un indirizzo preimpostato, che immagino sarà una cosa tipo nomecliente@tuaazienda.com.

Se l'unica esigenza è quella di consentire al cliente di consultare e gestire le email inserite nel contenitore, allora puoi semplicemente installare una webmail (che di fatto è un client IMAP). E' la soluzione più veloce perché non devi scrivere codice e se ne trovano varie gratuite. Per dotnet sembra che ce ne siano poche... eccone una che però non conosco.
http://www.afterlogic.org/download

Poi ne esistono in php, queste sono tra le più usate: SquirrelMail e RoundCube

Se invece l'esigenza è quella di processare queste email in qualche modo particolare puoi o apportare modifiche alla webmail o sviluppare un'applicazione tutta tua che impieghi quelle librerie client IMAP e parser MIME che ti ho linkato prima.

ciao
Modificato da BrightSoul il 07 dicembre 2011 00.10 -

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
BrightSoul ha scritto:
ciao,


pensavo ad uno scenario del genere dove per semplicità di utilizzo il cliente semplicemente invia la mail a quel indirizzo email creato ad hoc...


sì, questo è ok. L'utente sceglie quali email inserire nel "contenitore" inoltrandole ad un indirizzo preimpostato, che immagino sarà una cosa tipo nomecliente@tuaazienda.com.

Esattamente cosi, addirittura vorrei creare una sorta di id univoco per ogni cliente, tipo: 123456@azienda.tld

Se l'unica esigenza è quella di consentire al cliente di consultare e gestire le email inserite nel contenitore, allora puoi semplicemente installare una webmail (che di fatto è un client IMAP). E' la soluzione più veloce perché non devi scrivere codice e se ne trovano varie gratuite. Per dotnet sembra che ce ne siano poche... eccone una che però non conosco.
http://www.afterlogic.org/download

Poi ne esistono in php, queste sono tra le più usate: SquirrelMail e RoundCube

Se invece l'esigenza è quella di processare queste email in qualche modo particolare puoi o apportare modifiche alla webmail o sviluppare un'applicazione tutta tua che impieghi quelle librerie client IMAP e parser MIME che ti ho linkato prima.

ciao

potrebbe essere necessario processarle, nel senso che magari il cliente le vuole "recuperare" e se le auto invia, ad esempio. Oppure ne fa una stampa, ma lo sccenario rimane prevalentemente di questo tipo...

Grazie mille per tutte le indicazioni, adesso mi vado a guardare questi link che mi hai postato!

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
Ciao Bright, sono appena partito con i questo progetto, ho iniziato scaricando il sorgente del MIME che mi avevi consigliato (http://www.codeproject.com/KB/cs/mime_project.aspx) solo che non so bene come dovrei utilizzarlo. Nell'articolo non trovo nessun riferimento a qualche guida... ne sai qualcosa tu per caso?

Grazie!

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC