Toon posts:

[Delphi/C++] Email onderscheppen tussen mailclient en server

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een programma maakt dat alle inkomende mail nakijkt en aan de hand van bepaalde criteria doorlaat of verwijdert. Ik had het idee om het programma elke X minuten verbinding te laten maken met de server, om vervolgens zijn ding te doen, maar vooral voor mensen die niet over een vaste verbinding beschikken is dit niet echt praktisch. Daarna kwam ik op het idee om hetzelfde principe te gebruiken als NAV. Als men in de e-mail client (laten we even Outlook Express nemen) op Verzenden/ontvangen drukt, haalt NAV als 'tussenpersoon' de e-mail op en geeft hem vervolgens door aan de mailclient. Dit wil ik mijn programma dus ook laten doen :)

Maar hoe? Waar kan ik aangeven dat de mail eerst mijn programma moet passeren? Is dat iets dat ik in windows moet configureren? Is het iets dat in per mailclient moet instellen? Ik weet niet waar ik moet beginnen met zoeken, dus als jullie me er iets meer over kunnen vertellen hoor ik het graag ;)

[edit]
Zoals je uit de topictitel al enigzins kunt afleiden geef ik de voorkeur aan Delphi, anders C++, maar ik denk dat dit niet echt relevant is, omdat ik wil weten hoe ik dit voor elkaar moet krijgen, afgezien van de taal. Maar ik denk: ik zeg het ff :)

[ Voor 13% gewijzigd door Verwijderd op 07-05-2003 00:48 ]


Verwijderd

Je kan denk het beste :
- Een popclient/server maken, (ik dacht dat de oude nav dit zo deed),
dus je installeert een service die pop3 kan serven voor de lokale machine,
en pop3 kan opvragen/ophalen bij de mailserver.
of
Wordt wat moeilijker, ik ken het verder ook niet, maar een hook op je tcp/protocol zetten,
die op de desbetreffende poort zich zelf inhaakt, en dat je op die manier de bitjes en
bytejes langs ziiet komen/kan controleren.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 07 May 2003 @ 00:49:
Wordt wat moeilijker, ik ken het verder ook niet, maar een hook op je tcp/protocol zetten,
die op de desbetreffende poort zich zelf inhaakt, en dat je op die manier de bitjes en
bytejes langs ziiet komen/kan controleren.
Dat lijkt me geen goede optie. Dan moet je je ten eerste verdiepen in hoe je packets kunt onderscheppen, in het TCP protocol, en je moet ook nog eens de juiste data eruit filteren.

Gewoon een proxy opzetten is het best (en het makkelijkst!) lijkt me

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Maar dan vraag ik me toch af hoe NAV de mail wel onderschept zonder dat het een eigen POP3/SMTP server heeft.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Je kunt ook een COM component maken dat interfaced met Outlook ((c) Yarvieh ;))

Ik ken NAV niet, maar misschien doet die het zo?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 14:00

Reptile209

- gers -

Delphi schreef op 07 May 2003 @ 12:00:
Maar dan vraag ik me toch af hoe NAV de mail wel onderschept zonder dat het een eigen POP3/SMTP server heeft.
NAV verandert je mailinstellingen:
POP3: 127.0.0.1 : 110
SMTP: 127.0.0.1 : 25
user: ikke/pop.myprovider.nl

(waar hij de smtp-server opslaat, is me niet duidelijk). Sommige progsels zetten ipv 127.0.0.1 (localhost) ook POP3 en SMTP neer, maar dat kan je makkelijk hetzelfde laten werken. De scanner wordt vervolgens je eigen mailproxy.

Zo scherp als een voetbal!


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Oftewel NAV draait gewoon lokaal een POP3 en SMTP server die doorlussen naar de echte server, wat inderdaad de enige haalbare optie is. Als je een packetsniffer voor zoiets gaat schrijven ben je imho levensmoe :P

Waarschijnlijk accepteren die lokale servers ook alleen localhost loopback verbindingen vanuit het oogpunt van security.

Professionele website nodig?


  • NaliXL
  • Registratie: Maart 2002
  • Laatst online: 30-07 19:19
Waarschijnlijk zit er in de Indy componenten wel wat voor je bij? Heb het niet gecontroleerd, maar het zou me niks verbazen iig.

Genoeg is meer dan veel, en tart den overvloed


Verwijderd

Reptile209 schreef op 07 May 2003 @ 12:36:
[...]

NAV verandert je mailinstellingen:
POP3: 127.0.0.1 : 110
SMTP: 127.0.0.1 : 25
user: ikke/pop.myprovider.nl

(waar hij de smtp-server opslaat, is me niet duidelijk). Sommige progsels zetten ipv 127.0.0.1 (localhost) ook POP3 en SMTP neer, maar dat kan je makkelijk hetzelfde laten werken. De scanner wordt vervolgens je eigen mailproxy.
Dit is veranderd sinds NAV 2002 (in ieder geval bij NAV 2003),
account instelllingen blijven dan ongewijzigd, dus hebben ze
het met een andere aanpak gedaan waarschijnlijk.

  • Biedzjee
  • Registratie: December 2000
  • Laatst online: 14-08-2025
Op http://www.delphi.pari.bg/ vind je een componenten-pakket ("KACDO Component for Delphi") waar onder andere het volgende in staat:

* Full support of OnArrival event to intercept incoming/outgoing mail (trough COM server)

Misschien is dat iets ?

Trying to establish voice contact... please yell into keyboard.


Verwijderd

Biedzjee schreef op 07 mei 2003 @ 14:09:
Op http://www.delphi.pari.bg/ vind je een componenten-pakket ("KACDO Component for Delphi") waar onder andere het volgende in staat:

* Full support of OnArrival event to intercept incoming/outgoing mail (trough COM server)

Misschien is dat iets ?
CDO = Outlook, dus dan werkt het alleen indien er Outlook gebruikt wordt, (en Outook != Outlook Express ).

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

CDO = Outlook, dus dan werkt het alleen indien er Outlook gebruikt wordt, (en Outook != Outlook Express ).
Err wrong. ODO = Outlook Data Objects = Outlook. ODO is een pakket van extensies bovenop CDO.

CDO = Collaboration Data Objects. Een COM-wrapper die via Exchange of SMTP mail kan sturen. Zie ook hier.

Professionele website nodig?


Verwijderd

curry684 schreef op 07 May 2003 @ 15:47:
[...]

Err wrong. ODO = Outlook Data Objects = Outlook. ODO is een pakket van extensies bovenop CDO.

CDO = Collaboration Data Objects. Een COM-wrapper die via Exchange of SMTP mail kan sturen. Zie ook hier.
Dat is de "Nieuwe" gestripte CDO, ik heb het over deze:
-------------------
Introduction
-------------------

The following information describes the Microsoft(r) Collaboration Data Object
(CDO) 1.21 library and outlines the steps for installing CDO 1.21.

The CDO 1.21 DLL is designed for use with Microsoft Outlook(tm) 97,
Microsoft Outlook 98, and Microsoft Outlook 2000.
CDO 1.21 is not compatible with the version of MAPI installed with the
Windows(r) Messaging System. To ensure compatibility, Microsoft Outlook 97,
Outlook 98, or Outlook 2000 must be installed for CDO to function properly.
Pagina: 1