[C++] .msg extensie openen met shellexecute

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

  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Hallo,

Ik heb een programma ontwikkelt voor een bedrijfje.
Dit bedrijfje wil ook nieuwsbrieven versturen via Microsoft Outlook.
Nu kan ik in via de volgende code wel outlook aanroepen
code:
1
2
ShellExecute(NULL,"open","MailTo: info@uwbedrijf.com",NULL,NULL,
SW_SHOWNORMAL);

Het probleem hiervan is dat ik maar maximaal 240 caracters aan emailadressen kan meegeven en dat is voor een nieuwsbrief natuurlijk veel te weinig.

Nu kan ik wel een bestandje aanmaken en dat openen met shellexecute, maar dat werkt (nog) niet.
Als ik een .eml bestand aanmaak dan opent deze mooi Outlook Express, maar dit is niet wat de klant wil. Als ik een .msg bestand wil openen krijg ik de volgende foutmelding:
code:
1
2
3
4
5
Kan bestand niet openen: C:\Mail.msg. Misschien bestaat het bestand niet, 
hebt u niet de vereiste machtigingen om het bestand te openen of is het 
bestand geopend door een ander programma. Klik met de rechtermuisknop 
op de map waarin het bestand zich bevindt en klik op Eigenschappen om 
uw machtiging voor de map te controleren.

natuurlijk heb ik alle rechten en bestaat het filetje.

Verder heb ik ook het volgende nog geprobeerd:
code:
1
2
ShellExecute(NULL,"open",OUTLOOK.EXE /p "c:\\mail.msg",NULL,NULL,
SW_SHOWNORMAL);

Helaas werkt dat ook niet.

Iemand enig idee hoe ik vanuit een zelf ontwikkeld programma Outlook kan openen en daarin alle emailadressen, een onderwerp en een body mee kan geven?

Alvast bedankt.

  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Misschien nog verdere interessante gegevens:
Mijn pc draait op Windows XP SP2
Met Office 2003.

Ik gebruik borland c++ builder 5 als ontwikkelomgeving.

Verwijderd

boobobob schreef op woensdag 05 april 2006 @ 14:46:
Nu kan ik wel een bestandje aanmaken en dat openen met shellexecute, maar dat werkt (nog) niet.
Als ik een .eml bestand aanmaak dan opent deze mooi Outlook Express, maar dit is niet wat de klant wil. Als ik een .msg bestand wil openen krijg ik de volgende foutmelding:
code:
1
2
3
4
5
Kan bestand niet openen: C:\Mail.msg. Misschien bestaat het bestand niet, 
hebt u niet de vereiste machtigingen om het bestand te openen of is het 
bestand geopend door een ander programma. Klik met de rechtermuisknop 
op de map waarin het bestand zich bevindt en klik op Eigenschappen om 
uw machtiging voor de map te controleren.
En wat is het bijbehorende ShellExecute commando ?

Misschien is de .msg extensie niet gekoppeld aan een applicatie.

[ Voor 5% gewijzigd door Verwijderd op 05-04-2006 16:02 ]


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Verwijderd schreef op woensdag 05 april 2006 @ 15:59:
[...]

En wat is het bijbehorende ShellExecute commando ?
code:
1
2
ShellExecute(NULL,"open",OUTLOOK.EXE /f "c:\\mail.msg",NULL,NULL,
SW_SHOWNORMAL);

  • MaZo
  • Registratie: Mei 2002
  • Niet online
:X

[ Voor 118% gewijzigd door MaZo op 05-04-2006 16:08 ]


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Verwijderd schreef op woensdag 05 april 2006 @ 15:59:
[...]

Misschien is de .msg extensie niet gekoppeld aan een applicatie.
.msg is standaard gekoppelt aan microsoft outlook

Als ik een .msg file aanmaak krijg ik ook automatisch een icoontje van een enveloppe.
als ik zo'n file wil openen dan start outlook ook, en daar krijg ik dus ook de foutmelding.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waarom ga je uberhaupt liggen klooien met Outlook en gebruik je niet gewoon MAPI/CDO whatever?

http://support.microsoft.com/?id=200018

Of desnoods met een andere email library waarmee je je mail naar een STMP server kunt submitten?

[ Voor 46% gewijzigd door RobIII op 05-04-2006 16:16 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

boobobob schreef op woensdag 05 april 2006 @ 14:46:

Het probleem hiervan is dat ik maar maximaal 240 caracters aan emailadressen kan meegeven en dat is voor een nieuwsbrief natuurlijk veel te weinig.
Los van het probleem; Ben je er zeker van dat je alle email adressen in 1 email wilt zetten en deze wilt versturen? Het lijkt mij duidelijk een betere methode om al je recipients niet de email van een ander te kunnen lezen in de nieuwsbrief die ze ontvangen.

Doet me denken aan een situatie van SNS Bank, niet zo bijzonder lang geleden..

  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
RobIII schreef op woensdag 05 april 2006 @ 16:14:
Waarom ga je uberhaupt liggen klooien met Outlook en gebruik je niet gewoon MAPI/CDO whatever?
Omdat de klant perse outlook wil, anders had ik allang een eigen emailmodule gebruikt, want die heb ik zo liggen hier, kant en klaar.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Doe me 1 lol en zorg ervoor dat je BCC gebruikt dan... en dus geen CC/To's
boobobob schreef op woensdag 05 april 2006 @ 16:16:
[...]

Omdat de klant perse outlook wil, anders had ik allang een eigen emailmodule gebruikt, want die heb ik zo liggen hier, kant en klaar.
En als je de klant nou eens vraagt "waarom" dat zo nodig moet? Hebben ze enig benul? Moet jij als developer niet bepalen hoe iets functioneel geïmplementeerd wordt? Welke functionaliteit willen ze dan?

[ Voor 75% gewijzigd door RobIII op 05-04-2006 16:18 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
GX schreef op woensdag 05 april 2006 @ 16:16:
[...]

Los van het probleem; Ben je er zeker van dat je alle email adressen in 1 email wilt zetten en deze wilt versturen? Het lijkt mij duidelijk een betere methode om al je recipients niet de email van een ander te kunnen lezen in de nieuwsbrief die ze ontvangen.

Doet me denken aan een situatie van SNS Bank, niet zo bijzonder lang geleden..
Daarom wil ik ze in de BCC zetten, maar dat doe ik dan al als ik een .msg-file aanmaak.

  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
RobIII schreef op woensdag 05 april 2006 @ 16:17:
Doe me 1 lol en zorg ervoor dat je BCC gebruikt dan... en dus geen CC/To's


[...]


En als je de klant nou eens vraagt "waarom" dat zo nodig moet? Hebben ze enig benul? Moet jij als developer niet bepalen hoe iets functioneel geïmplementeerd wordt? Welke functionaliteit willen ze dan?
Wees maar niet bang, dat doe ik zowiezo (BCC)

De klant wil o.a. outlook omdat ze daar al jaren gebruik van maken en dus een hele historie hebben met alle verzonden en ontvagen emails. Ook omdat alle werknemers (indien nodig) zelfs een cursus gehad hebben voor office (outlook) en hier dus mee kunnen werken.

Verder heb ik wel vaker shellexecute gebruikt om outlook aan te roepen dus dat leek mij op zich geen probleem om dit te implementeren, totdat ik erachter kwam dat je maar een bepaald aantal karakters in kan voeren.

[ Voor 37% gewijzigd door boobobob op 05-04-2006 16:22 ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 14:02
Even voor de duidelijkheid: als je in Explorer op het .msg-bestand klikt dan opent Outlook (Express) 'm wél zoals je wil? (Dat moet namelijk wel programmatisch kunnen.)

En gaat het nu over Outlook of over Outlook Express? Het zijn nogal verschillende programma's maar je gebruikt ze door elkaar in je topic start.

  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Soultaker schreef op woensdag 05 april 2006 @ 16:32:
Even voor de duidelijkheid: als je in Explorer op het .msg-bestand klikt dan opent Outlook (Express) 'm wél zoals je wil? (Dat moet namelijk wel programmatisch kunnen.)

En gaat het nu over Outlook of over Outlook Express? Het zijn nogal verschillende programma's maar je gebruikt ze door elkaar in je topic start.
Het gaat hier over Outlook, niet outlook express.

Als ik op een .msg-bestand klik opent microsfot outlook maar krijg dan meteen de beschreven melding. Dit heb ik op verschillende computers met verschillende .msg-bestanden geprobeert met overal het zelfde resultaat.

Daarom dat ik dat ik parameter /f mee moest geven om te openen, maar dat werkt ook niet.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 14:02
Outlook heeft wel een COM API geloof ik. Google maar eens op "Outlook automation" of kijk op: http://www.outlookcode.com/ ofzoiets.

  • DigiK-oz
  • Registratie: December 2001
  • Laatst online: 16:02
De .msg file bestaat, en je hebt de juiste rechten. En de derde mogelijkheid volgens de foutmelding? File is in use? Heeft je programma de .msg file misschien nog open?

Whatever


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Sloompie schreef op woensdag 05 april 2006 @ 17:21:
De .msg file bestaat, en je hebt de juiste rechten. En de derde mogelijkheid volgens de foutmelding? File is in use? Heeft je programma de .msg file misschien nog open?
Nee helaas ook niet, was het maar zo makkelijk.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-12-2025
boobobob schreef op woensdag 05 april 2006 @ 16:16:
[...]
Omdat de klant perse outlook wil, anders had ik allang een eigen emailmodule gebruikt, want die heb ik zo liggen hier, kant en klaar.
MAPI gaat via Outlook, tenminste de laatste keer dat ik keek.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
MSalters schreef op woensdag 05 april 2006 @ 20:55:
[...]

MAPI gaat via Outlook, tenminste de laatste keer dat ik keek.
Dan mijn volgende vraag:

Als ik MAPI wil gebruiken hoe gaat dat in z'n werk.
Ik google me rot, maar bereik er eigenlijk niks mee.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:51

Creepy

Tactical Espionage Splatterer

Er zijn echt zat voorbeelden te vinden hou MAPI of Outlook Automation te gebruiken. Alleen "MAPI" gebruiken als zoekterm in google levert al ladingen voorbeeldgen op, om maar niet te spreken over MSDN..... Je gaat me nu toch niet vertellen dat daar helemaal niks bruikbaars tussn zit?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
boobobob schreef op donderdag 06 april 2006 @ 12:26:
[...]


Dan mijn volgende vraag:

Als ik MAPI wil gebruiken hoe gaat dat in z'n werk.
Ik google me rot, maar bereik er eigenlijk niks mee.
Je zou je eens in de documentatie van MAPI kunnen verdiepen...

Google -> 2e hit


/edit: Damn you Creepy :P

[ Voor 15% gewijzigd door RobIII op 06-04-2006 12:47 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Creepy schreef op donderdag 06 april 2006 @ 12:45:
Er zijn echt zat voorbeelden te vinden hou MAPI of Outlook Automation te gebruiken. Alleen "MAPI" gebruiken als zoekterm in google levert al ladingen voorbeeldgen op, om maar niet te spreken over MSDN..... Je gaat me nu toch niet vertellen dat daar helemaal niks bruikbaars tussn zit?
Er zal vast wel iets bruikbaars tussen zitten, maar dat heb ik nog niet kunnen vinden.
Heb wel talloze andere functies gebruikt en bekeken of ik daar wijzer van wordt, maar tot op heden heb ik nog niet bereikt wat ik wil.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:51

Creepy

Tactical Espionage Splatterer

Wat heb je dan wel wel bereikt? Welke code gebruik je nu? Wat doet het niet wat het wel zou moeten doen? Krijg je foutmeldingen? etc. Need more input :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Ondertussen heb ik met een Ole-object het voor elkaar weten te krijgen.

Maar mocht iemand nog een oplossing weten ik blijf nieuwsgierig
Pagina: 1