Gegevens uit mailtjes naar database

Pagina: 1
Acties:
  • 313 views sinds 30-01-2008
  • Reageer

  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Voor een kennis ben ik op zoek of het mogelijk is om informatie uit mailtjes te halen en om te zetten in een database. Omdat het hier echter om meer dan 10000 mailtjes gaat (het is een band) is dit handmatig niet te doen.

De mailtjes die zijn verzameld hebben een opbouw als onderstaand:


Van: ()
Datum: Fri, 24 Dec 2004 09:51:31 +0100
Aan: info@*******.nl
Onderwerp: gratis_download_lef_ontspan_formulier

Below is the result of your feedback form. It was submitted by
() on Friday, December 24, 2004 at 09:51:31
---------------------------------------------------------------------------

01_naam: Kevin

02_adres: Kerkstraat 30

03_postkode: 1234 AB

04_woonplaats: Amsterdam

05_telefoon: 0124-456789

06_email: mailtjes@hotmail.com

07_opm: Hier staan opmerkingen

Submit3: VERZENDEN


Nu is het dus zaak om deze informatie in een database te krijgen. Al is het maar een Excel sheet waar deze gegevens in kolommen zijn opgenomen.

Wie heeft er een idee welke softwarepakket dit kan regelen. Gecombineerde oplossingen zijn ook welkom. Daarmee bedoel ik bijvoorbeeld het ineens omzetten van alle mailtjes naar tekst bestanden, om deze vervolgens weer te importeren als gegevens zijnde.

Alvast bedankt voor de respons

[ Voor 9% gewijzigd door elinsen op 24-12-2004 12:36 ]

E.P.M. Linsen


  • jurri@n
  • Registratie: Maart 2000
  • Laatst online: 13:29
Ik krijg de indruk dat dit uit een formulier op een HTML-pagina komt... is het dan niet handiger om via PHP, ASP, of wat dan ook die gegevens meteen in een database te zetten, zonder tussenkomst van een mailtje?

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 19-06 22:04

Gertjan

mmmm, beer...

Ik denk dat het nogal van belang is hoe de mailtjes opgeslagen zijn. Is dit in een Outlook (Express) formaat, Thunderbird, Eudora, of misschien nog een andere client?

Veel clients slaan hun mail op in een plat tekstbestand. Hieruit zou je dan met een handig scriptje wat niet eens verschrikkelijk moeilijk hoeft te zijn je gegevens kunnen halen en (gemakkelijkst) in een csv-bestand gieten. Die kun je dan denk ik wel weer met Access inlezen en omtoveren in een "database"
jurri@n schreef op vrijdag 24 december 2004 @ 12:37:
Ik krijg de indruk dat dit uit een formulier op een HTML-pagina komt... is het dan niet handiger om via PHP, ASP, of wat dan ook die gegevens meteen in een database te zetten, zonder tussenkomst van een mailtje?
Tuurlijk, voor de toekomst ... Maar wat als die band nu al 10.000 mailtjes heeft ontvangen?

[ Voor 31% gewijzigd door Gertjan op 24-12-2004 12:39 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Als wat zijn de mailtjes momenteel opgeslagen? mbox of Maildir oid? Wat had je verder zelf al gezocht en gevonden? :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

dit moet perfect te doen zijn in MS WORD en een macro'tje te schrijven, en zo te converten in die macro naar een tabel, die je weer kan knippen en plakken in excel.

Je begint met alle emails te importeren in msword (moet te doen zijn toch?) dit is je eerste macro.
Vervolgens schrijf je een macro die al deze gegevens knipt en plakt in een nieuw document, of tussen al die gegevens een ; zet en de alineamarkering verwijdert.
Vervolgens zet je deze om in een tabel, met als scheidingsteken een ;

Voila, je tabel is klaar, mss je pagina nog liggend zetten...

ik hoop dat je hiermee geholpen bent, nu nog wat zelfstudie in vba, en je bent af :)

  • ToFast
  • Registratie: Mei 2004
  • Laatst online: 22-02 15:08
Je kan een XML toepassing maken. XML-spy kan je daarbij gebruiken als programma. Wij hebben net als opdracht gekregen om dit onder de knie te krijgen, XML is een soort HTML taal en is eenvoudig te maken. Eerst is het even prutsen, maar je kan binnen een dag het voorelkaar krijgen.

Vroeger werd de EDI standaard gebruikt, XML heeft veel voordelen tenopzichte van EDI-Fact, maar het is nog steeds lastig wanneer er 1-op1 relaties zijn in de database.

Als je een tutorial wil moet je me ff mailen. Het programma kan je downloaden, XML spy 2005 enterprise edition, 30dagen proberen dan key/license [...] ;)
Modbreak:Laten we cracks en serials via GoT niet stimuleren en gewoon betalen voor software :)

[ Voor 8% gewijzigd door Spider.007 op 24-12-2004 12:47 ]


  • ToFast
  • Registratie: Mei 2004
  • Laatst online: 22-02 15:08
Het is trouwens bij onze opdracht ook de bedoeling om data die in een bestelformulier of mail aangeleverd wordt, automatisch in een database op te slaan. Voor zover ik weet kunnen aardig wat versies van MS-acces met XML omgaan om het te automatiseren zelfs.

SOZ mod. dom van me 8)7'

Jouw data is volgens mij redelijk simpel mee om te gaan, geen moeilijke constructies nodig. Wie weet is er al een (xml)toepassing die de data in jouw vorm al in MS-acces kan exporteren.

[ Voor 25% gewijzigd door ToFast op 24-12-2004 12:55 ]


  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Voor zover ik weet staan de gegevens nu in Outlook of Outlook Express. Ik ga uit van de laatste. En zoals aangegeven zijn de mailtje door de jaren heen verzameld, dus een PHP oplossing hebben ze nu niets meer aan.

Ik heb gekeken of je een EML bestand kan openen met Word en Excel. Dit is inderdaad mogelijk. Je krijgt dan ook de hele MIME van het bericht te zien. Nu ben ik niet thuis in het maken van macro's.

Maar is het dus mogelijk om een Macro te maken in Excel die bestanden zelf stuk voor stuk inleest en uit regels delen tekst kan halen om die vervolgens in een ander Excel document netjes in rijen te zetten. Excel zelf ben ik vrij goed in thuis, maar macro's dus niet.

E.P.M. Linsen


  • Boss
  • Registratie: September 1999
  • Laatst online: 19:01

Boss

+1 Overgewaardeerd

Ik zou (omdat ik daar het handigste mee ben :) ) met Access aan de slag gaan. Daarin kan je een exteren tabel koppelen en dat kan ook je outlook folder zijn. Daarna kan je dus de mailtjes importeren naar een tabel.

Vervolgens via wat VBA code alle mailtjes doorlopen en de juiste gegevens eruit strippen en in een andere tabel opslaan.

1.5 uur moet het wel in te doen zijn :)

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Ik ben zover dat ik die mailtjes al in Access heb kunnen improteren.
Hij zet daarbij de inhoud van het mailtje neer in een cel in de tabel. In dit geval de tweede cel.

Hoe krijg ik het nu door middel van code in een macro voor elkaar dat hij kijkt naar een bepaalde reeks, en vervolgend het restant dat daarachter staat invult in een andere tabel.

Dus nogmaals het mailtje:

---------------------------------------------------------------------------

01_naam: Gerard Dalen

02_adres: Kerkstraat 12

03_postkode: 1234AB

04_woonplaats: Barneveld

05_telefoon: 0612345678

06_email: gerardd@gmail.com

Submit3: VERZENDEN

---------------------------------------------------------------------------

Ik wil nu dus dat hij kijkt naar de waarde "01_naam: " en vervolgens als uitkomst "Gerard Dalen" in een aan te gevel tabel neer plakt. Ditzelfde doe ik daarna met de rest van de mail.

Kan iemand mij op weg helpen, want ik heb geen verstand van VBA of Macro's in Access.

E.P.M. Linsen


  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Ik hoorde van iemand dat je in functies iets met find, ln (of len) en right moet goochelen. Echter ik weet niet hoe of wat ik die moet invullen.

Ik zit nu bij die klant thuis aan dit probleem te werken. Hij gebruikt MS Access 2003.
Ik ben zoals gezegd verder niet bekend met Access. Toch moet het niet zo'n groot probleem zijn.

Weet iemand anders een soortgelijke database te vinden waar ik delen uit kan halen, of heeft iemand een stukje code dat zoiets dergelijks doet. Locaties in het bestand kan ik wijzigen, echter ik heb geen idee hoe ik verder moet.

E.P.M. Linsen


Verwijderd

Probeer je mailtjes een hier te copy-pasten: http://www.ai.rug.nl/cgi-bin/cgiwrap/flobbe/elinsen.pl

Source: http://www.ai.rug.nl/~flobbe/cgi-bin/elinsen.pl

Je hebt niet geantwoord op de vragen over het mailboxformaat, dus ik weet niet hoe ik verschillende mailtjes uit elkaar moet houden - ik heb de Submit regel gebruikt. Als gevolg krijg je steeds een lege record erbij aan het eind.

Het is me ook niet duidelijk of veld 7 een regel is of meer, dus ik ben uitgegaan van slechts regel.

Ik weet niet hoe veel mails de server kan hebben...

Oh, output is cvs, ik neem aan dat wel weet hoe je daarmee verder kunt.

Edit: ik beloof dat ik geen mails niks opsla! Maar anders moet je het script zelf maar ergens draaien.

[ Voor 8% gewijzigd door Verwijderd op 11-04-2005 21:33 ]


  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 29-07 17:11

Eijkb

Zo.

Als dit op een domein binnenkomt via een email app (we gebruiken hier zelf qmail op Fedora Linux) dan is het mogelijk je mail direct door de mail applicatie door te laten sturen naar een script (bv. perl of php). Dat script krijgt dan als input de complete mail (plain text). Met wat regex functies kan je dan de benodigde data eruit halen.

.


  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Probeer je mailtjes een hier te copy-pasten: http://www.ai.rug.nl/cgi-bin/cgiwrap/flobbe/elinsen.pl

Source: http://www.ai.rug.nl/~flobbe/cgi-bin/elinsen.pl

Je hebt niet geantwoord op de vragen over het mailboxformaat, dus ik weet niet hoe ik verschillende mailtjes uit elkaar moet houden - ik heb de Submit regel gebruikt. Als gevolg krijg je steeds een lege record erbij aan het eind.

Het is me ook niet duidelijk of veld 7 een regel is of meer, dus ik ben uitgegaan van slechts regel.

Ik weet niet hoe veel mails de server kan hebben...

Oh, output is cvs, ik neem aan dat wel weet hoe je daarmee verder kunt.

Edit: ik beloof dat ik geen mails niks opsla! Maar anders moet je het script zelf maar ergens draaien.
Ik heb dit even geprobeerd, en dit werkt prima.
Komt het er nu op neer dat ik deze code moet gebruiken in MS Access, of op welke manier kan ik de in- en output in dit script automatiseren. Het gaat over meer dan 10.000 mailtjes. Handmatig invoeren is dus geen optie.

Het importeren van alle mailtjes in een tabel in MS Access weet ik hoe ik moet doen. Dit is al een behoorlijk werk omdat de mailtje nu in Outlook Express staan op een Apple. We moeten de mailtjes dus al stuk voor stuk doorsturen naar mijn windows machine, waarna ik ze in MS Outlook zet. Vervolgens kan ik die vanuit MS Access importeren. Alleen de stap daarna voor het uitfilteren van de gegevens lukt mij (nog) niet.

Ik heb de database met daarin een aantal mailtjes neergezet op www.xs4all.nl/~pennlin/project/database.mdb

Kan ik dat script dan als module gebruiken in MS Access ?

[ Voor 10% gewijzigd door elinsen op 12-04-2005 08:48 ]

E.P.M. Linsen


Verwijderd

elinsen schreef op dinsdag 12 april 2005 @ 08:44:

Ik heb dit even geprobeerd, en dit werkt prima.
Komt het er nu op neer dat ik deze code moet gebruiken in MS Access, of op welke manier kan ik de in- en output in dit script automatiseren. Het gaat over meer dan 10.000 mailtjes. Handmatig invoeren is dus geen optie.
Ik weet niets van al die MS API's. Ik werk alleen van platte tekst naar platte tekst. Je kunt meerdere mails tegelijk in het script gooien, maar dat is natuurlijk alleen handig als je nu reeds meerdere mails in een bestand hebt. Volgens mij kun je je Outlook mail importeren met Mozilla Thunderbird, en dan saved Thunderbird het in een mbox-bestand (alle mails in een file), ergens in Documents and Settings. Dan kun je het mbox-bestand in notepad openen en in het script copy-pasten. Ik weet niet hoeveel je tegelijk kunt uploaden; ik denk iets van 512KB ofzo.
Ik heb de database met daarin een aantal mailtjes neergezet op www.xs4all.nl/~pennlin/project/database.mdb
Zal wel aan mijn brakke internetverbinding hier op de uni liggen, want ik krijg steeds timeouts. En thuis heb ik geen Access.
Kan ik dat script dan als module gebruiken in MS Access ?
Niet dat ik weet. Volgens mij is de makkelijkste volgorde: outlook -> een grote file met alle mails -> script -> cvs file -> dan pas importeren in Access.

Toevoeging: Ik kan een command line versie maken. Dan kun je waarschijnlijk iets doen van 'perl evinsen.pl *.mbx > out.cvs' en hoef je dus niet eerst alle mails in een file te gooien. Maar dan moet je wel perl en cygwin op je eigen computer installeren; ik denk niet dat je daar zin in hebt. Reageer even als je daar interesse in hebt. Of je kunt de betreffende outlook folder (niet de Access database a.u.b.) zippen en naar mij mailen. Maar ik weet niet of je client dat goed vindt...

[ Voor 18% gewijzigd door Verwijderd op 12-04-2005 10:54 ]


  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Ik weet niets van al die MS API's. Ik werk alleen van platte tekst naar platte tekst. Je kunt meerdere mails tegelijk in het script gooien, maar dat is natuurlijk alleen handig als je nu reeds meerdere mails in een bestand hebt. Volgens mij kun je je Outlook mail importeren met Mozilla Thunderbird, en dan saved Thunderbird het in een mbox-bestand (alle mails in een file), ergens in Documents and Settings. Dan kun je het mbox-bestand in notepad openen en in het script copy-pasten. Ik weet niet hoeveel je tegelijk kunt uploaden; ik denk iets van 512KB ofzo.
Ik zit nu op mijn werk, maar ik ga vanavond eens proberen of ik het via Mozilla Thunderbird kan doen. Ik heb van de zanger van de band een aantal mailtjes gekregen, dus we zullen zien.

Wat ik mij alleen nog afvraag is wat er gebeurd als een regel niet is ingevuld. Daarmee bedoel ik dat er mensen zijn die niets hebben ingevuld bij bepaalde regels van een mailtje. Zo komt regel 7 dus niet in alle mailtjes voor. Zal het script dan evengoed een output geven zodat ik bij het importeren in Access of Word niet de gegevens als wirwar ga krijgen. Anders krijg ik op een gegevens moment een verschuiving zodat bv. de postcode onder de naam komt te staan.

Ik ga vanavond testen.

E.P.M. Linsen


  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Probeer je mailtjes een hier te copy-pasten: http://www.ai.rug.nl/cgi-bin/cgiwrap/flobbe/elinsen.pl

Source: http://www.ai.rug.nl/~flobbe/cgi-bin/elinsen.pl

Je hebt niet geantwoord op de vragen over het mailboxformaat, dus ik weet niet hoe ik verschillende mailtjes uit elkaar moet houden - ik heb de Submit regel gebruikt. Als gevolg krijg je steeds een lege record erbij aan het eind.

Het is me ook niet duidelijk of veld 7 een regel is of meer, dus ik ben uitgegaan van slechts regel.

Ik weet niet hoe veel mails de server kan hebben...

Oh, output is cvs, ik neem aan dat wel weet hoe je daarmee verder kunt.

Edit: ik beloof dat ik geen mails niks opsla! Maar anders moet je het script zelf maar ergens draaien.
Ik heb het even getest en het werkt goed. Ik ga nu afspreken met de zanger van de band om de zaak om te zetten. Ik hoop dit komende vrijdag te kunnen doen.

@Syboor --> Is het voor jou veel moeite om dit script nog een tijdje te laten staan? Ik heb de mailtjes namelijk niet hier, die staan bij de zanger op zijn Apple Notebook.

E.P.M. Linsen


Verwijderd

elinsen schreef op woensdag 13 april 2005 @ 08:41:
[...]
@Syboor --> Is het voor jou veel moeite om dit script nog een tijdje te laten staan? Ik heb de mailtjes namelijk niet hier, die staan bij de zanger op zijn Apple Notebook.
Laten staan is geen moeite, het neemt echt geen ruimte in. Ik heb alleen geen idee hoeveel data de webserver in een keer accepteert, maar dat moet je maar uitproberen. Anders wordt het alsnog een paar keer copy-pasten.

En klopt het dat dat opmerkingen veld maar een regel is? Anders heb je een probleem (nou ja, dan raak je de rest van de opmerkingen kwijt).

  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Laten staan is geen moeite, het neemt echt geen ruimte in. Ik heb alleen geen idee hoeveel data de webserver in een keer accepteert, maar dat moet je maar uitproberen. Anders wordt het alsnog een paar keer copy-pasten.

En klopt het dat dat opmerkingen veld maar een regel is? Anders heb je een probleem (nou ja, dan raak je de rest van de opmerkingen kwijt).
Het opmerking veld is inderdaad 1 regel.
Ik zal wel eens kijken hoeveel data er per keer doorheen kan. Ik ga het gewoon proberen in blokken van 100, 200, enz. mailtjes. Ik weet niet precies hoeveel mailtjes bij elkaar bijvoorbeeld 0,5MB is. Ik denk dat dat nog te behappen is. Maar vrijdagmiddag weet ik meer, want dan ga ik er mee bezig.

E.P.M. Linsen


  • elinsen
  • Registratie: Februari 2003
  • Laatst online: 09-03 16:33

elinsen

Fear me......

Topicstarter
Liesbeth er is een mail naar je onderweg van de zanger van de band
Het is harstikke goed gelukt.
Als je wil kan je wat goodies van de band krijgen.
Je moet je mail maar even checken.
Bedankt.

E.P.M. Linsen

Pagina: 1