Home All Groups Group Topic Archive Search About

How can I embedd graphics in Outlook Email without using MAPI

Author
3 May 2006 4:50 PM
Siv
Hi,
A little while ago I wrote a small program that allowed the user to view
products from a database.  The database holds the details of the products
which can be viewed via a form and additionally pictures of the product are
stored in an images subfolder and the database holds the file name of the
relevant picture. The user can then click a button to display the picture in
a pop-up window and also another button to email the potential customer with
the details and the picture embedded in the HTML formatted email.

This all worked swimmingly when the client was using Office 2000, since they
have moved to Office 2003 I get loads of problems at the point where MAPI is
accessed with the following:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Exception: Cannot create ActiveX component.
   at Microsoft.VisualBasic.Interaction.CreateObject(String ProgId, String
ServerName)
   at PriceList.frmEmail.EmbeddedHTMLGraphicMessage(String EmailAddress,
String Subject, String BodyHTML)
   at PriceList.frmEmail.Button1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
PriceList
    Assembly Version: 1.0.2314.1775
    Win32 Version: 1.0.2314.1775
    CodeBase:
file:///C:/Program%20Files/Tamarisk/The%20Pricelist%20Application/PriceList.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase:
file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.Office.Interop.Outlook
    Assembly Version: 11.0.0.0
    Win32 Version: 11.0.5530
    CodeBase:
file:///C:/WINDOWS/assembly/GAC/Microsoft.Office.Interop.Outlook/11.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Outlook.dll
----------------------------------------
Interop.MAPI
    Assembly Version: 1.21.0.0
    Win32 Version: 1.21.0.0
    CodeBase:
file:///C:/Program%20Files/Tamarisk/The%20Pricelist%20Application/Interop.MAPI.DLL
----------------------------------------
On reading the Microsoft notes I can find on MSDN it appears that MS don't
want you creating HTML based email using calls to MAPI and suggest that you
do it using System.Web.Mail or other components.

Has anyone had this problem and found a way to create emails using Outlook
without needing to use MAPI or not using MAPI directly.  I have been
scouring the NET and can't really find a solution that uses managed code. I
want to keep the email within Outlook rather than directly sending using
SMTP mail as I would like the user to have a record in their sent items of
the customers they have sent information about products to.

Any help greatfully accepted.

--
Siv
Martley, Near Worcester, United Kingdom.

Author
3 May 2006 6:39 PM
vbnetdev
http://support.microsoft.com/default.aspx?scid=kb;en-us;327219


--
Get a powerful web, database, application, and email hosting with KJM
Solutions
http://www.kjmsolutions.com



Show quote Hide quote
"Siv" <dotnet@remove_me.sivill.com> wrote in message
news:uZcN5GtbGHA.3956@TK2MSFTNGP05.phx.gbl...
> Hi,
> A little while ago I wrote a small program that allowed the user to view
> products from a database.  The database holds the details of the products
> which can be viewed via a form and additionally pictures of the product
> are stored in an images subfolder and the database holds the file name of
> the relevant picture. The user can then click a button to display the
> picture in a pop-up window and also another button to email the potential
> customer with the details and the picture embedded in the HTML formatted
> email.
>
> This all worked swimmingly when the client was using Office 2000, since
> they have moved to Office 2003 I get loads of problems at the point where
> MAPI is accessed with the following:
>
> See the end of this message for details on invoking
> just-in-time (JIT) debugging instead of this dialog box.
>
> ************** Exception Text **************
> System.Exception: Cannot create ActiveX component.
>   at Microsoft.VisualBasic.Interaction.CreateObject(String ProgId, String
> ServerName)
>   at PriceList.frmEmail.EmbeddedHTMLGraphicMessage(String EmailAddress,
> String Subject, String BodyHTML)
>   at PriceList.frmEmail.Button1_Click(Object sender, EventArgs e)
>   at System.Windows.Forms.Control.OnClick(EventArgs e)
>   at System.Windows.Forms.Button.OnClick(EventArgs e)
>   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
>   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
> button, Int32 clicks)
>   at System.Windows.Forms.Control.WndProc(Message& m)
>   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
>   at System.Windows.Forms.Button.WndProc(Message& m)
>   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&
> m)
>   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
>   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
> IntPtr wparam, IntPtr lparam)
>
>
> ************** Loaded Assemblies **************
> mscorlib
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
> ----------------------------------------
> PriceList
>    Assembly Version: 1.0.2314.1775
>    Win32 Version: 1.0.2314.1775
>    CodeBase:
> file:///C:/Program%20Files/Tamarisk/The%20Pricelist%20Application/PriceList.exe
> ----------------------------------------
> System.Windows.Forms
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
> ----------------------------------------
> System
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
> ----------------------------------------
> System.Drawing
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
> ----------------------------------------
> Microsoft.VisualBasic
>    Assembly Version: 8.0.0.0
>    Win32 Version: 8.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
> ----------------------------------------
> System.Data
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
> ----------------------------------------
> System.Transactions
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
> ----------------------------------------
> System.EnterpriseServices
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
> ----------------------------------------
> System.Configuration
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
> ----------------------------------------
> System.Xml
>    Assembly Version: 2.0.0.0
>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
> ----------------------------------------
> Microsoft.Office.Interop.Outlook
>    Assembly Version: 11.0.0.0
>    Win32 Version: 11.0.5530
>    CodeBase:
> file:///C:/WINDOWS/assembly/GAC/Microsoft.Office.Interop.Outlook/11.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Outlook.dll
> ----------------------------------------
> Interop.MAPI
>    Assembly Version: 1.21.0.0
>    Win32 Version: 1.21.0.0
>    CodeBase:
> file:///C:/Program%20Files/Tamarisk/The%20Pricelist%20Application/Interop.MAPI.DLL
> ----------------------------------------
> On reading the Microsoft notes I can find on MSDN it appears that MS don't
> want you creating HTML based email using calls to MAPI and suggest that
> you do it using System.Web.Mail or other components.
>
> Has anyone had this problem and found a way to create emails using Outlook
> without needing to use MAPI or not using MAPI directly.  I have been
> scouring the NET and can't really find a solution that uses managed code.
> I want to keep the email within Outlook rather than directly sending using
> SMTP mail as I would like the user to have a record in their sent items of
> the customers they have sent information about products to.
>
> Any help greatfully accepted.
>
> --
> Siv
> Martley, Near Worcester, United Kingdom.
>
Author
4 May 2006 9:33 AM
Siv
Hi,
Thanks for your reply, I was hoping to report back and let you know if the
suggestion worked but I can't get access to the PC that is causing me
problems at the moment (I am remote support/development for the client) so
when I have tried these suggestions I will report back.

The main thrust of the original post though was to see if anyone had tackled
this problem without using MAPI.  I have looked at loads of examples but
most people seem to be sending using SMTP directly and I have not found any
examples that use embedded graphics, most use embedded links to graphics on
a web server which isn't what I need to do, the graphics must appear within
the body of the HTML email.  My existing code does this quite happily but
doesn't seem to work where the user has Office 2003 installed? However it
works fine on my own system which does have office 2003 only installed.

I have tested the application within the VS.Net environment and as a
standalone exe file and it runs fine on my system. The setup program places
the following DLL files into the program files folder:

AxInterop.SHDocVw.dll
Interop.MAPI.dll
Interop.Microsoft.Office.Core.dll
Interop.Outlook.dll
Interop.SHDocVw.dll
MSO.DLL
stdole.dll
msoutl.olb
PriceList.exe
PriceList.pdb

PriceList.exe being the main program file.

Thanks
Siv

Show quoteHide quote
"vbnetdev" <vbnetdev@community.nospam> wrote in message
news:O5JNpDubGHA.3856@TK2MSFTNGP03.phx.gbl...
> http://support.microsoft.com/default.aspx?scid=kb;en-us;327219
>
>
> --
> Get a powerful web, database, application, and email hosting with KJM
> Solutions
> http://www.kjmsolutions.com
>
>
>
> "Siv" <dotnet@remove_me.sivill.com> wrote in message
> news:uZcN5GtbGHA.3956@TK2MSFTNGP05.phx.gbl...
>> Hi,
>> A little while ago I wrote a small program that allowed the user to view
>> products from a database.  The database holds the details of the products
>> which can be viewed via a form and additionally pictures of the product
>> are stored in an images subfolder and the database holds the file name of
>> the relevant picture. The user can then click a button to display the
>> picture in a pop-up window and also another button to email the potential
>> customer with the details and the picture embedded in the HTML formatted
>> email.
>>
>> This all worked swimmingly when the client was using Office 2000, since
>> they have moved to Office 2003 I get loads of problems at the point where
>> MAPI is accessed with the following:
>>
>> See the end of this message for details on invoking
>> just-in-time (JIT) debugging instead of this dialog box.
>>
>> ************** Exception Text **************
>> System.Exception: Cannot create ActiveX component.
>>   at Microsoft.VisualBasic.Interaction.CreateObject(String ProgId, String
>> ServerName)
>>   at PriceList.frmEmail.EmbeddedHTMLGraphicMessage(String EmailAddress,
>> String Subject, String BodyHTML)
>>   at PriceList.frmEmail.Button1_Click(Object sender, EventArgs e)
>>   at System.Windows.Forms.Control.OnClick(EventArgs e)
>>   at System.Windows.Forms.Button.OnClick(EventArgs e)
>>   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
>>   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
>> button, Int32 clicks)
>>   at System.Windows.Forms.Control.WndProc(Message& m)
>>   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
>>   at System.Windows.Forms.Button.WndProc(Message& m)
>>   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&
>> m)
>>   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
>>   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
>> IntPtr wparam, IntPtr lparam)
>>
>>
>> ************** Loaded Assemblies **************
>> mscorlib
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
>> ----------------------------------------
>> PriceList
>>    Assembly Version: 1.0.2314.1775
>>    Win32 Version: 1.0.2314.1775
>>    CodeBase:
>> file:///C:/Program%20Files/Tamarisk/The%20Pricelist%20Application/PriceList.exe
>> ----------------------------------------
>> System.Windows.Forms
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
>> ----------------------------------------
>> System
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
>> ----------------------------------------
>> System.Drawing
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
>> ----------------------------------------
>> Microsoft.VisualBasic
>>    Assembly Version: 8.0.0.0
>>    Win32 Version: 8.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
>> ----------------------------------------
>> System.Data
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
>> ----------------------------------------
>> System.Transactions
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
>> ----------------------------------------
>> System.EnterpriseServices
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
>> ----------------------------------------
>> System.Configuration
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
>> ----------------------------------------
>> System.Xml
>>    Assembly Version: 2.0.0.0
>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
>> ----------------------------------------
>> Microsoft.Office.Interop.Outlook
>>    Assembly Version: 11.0.0.0
>>    Win32 Version: 11.0.5530
>>    CodeBase:
>> file:///C:/WINDOWS/assembly/GAC/Microsoft.Office.Interop.Outlook/11.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Outlook.dll
>> ----------------------------------------
>> Interop.MAPI
>>    Assembly Version: 1.21.0.0
>>    Win32 Version: 1.21.0.0
>>    CodeBase:
>> file:///C:/Program%20Files/Tamarisk/The%20Pricelist%20Application/Interop.MAPI.DLL
>> ----------------------------------------
>> On reading the Microsoft notes I can find on MSDN it appears that MS
>> don't want you creating HTML based email using calls to MAPI and suggest
>> that you do it using System.Web.Mail or other components.
>>
>> Has anyone had this problem and found a way to create emails using
>> Outlook without needing to use MAPI or not using MAPI directly.  I have
>> been scouring the NET and can't really find a solution that uses managed
>> code. I want to keep the email within Outlook rather than directly
>> sending using SMTP mail as I would like the user to have a record in
>> their sent items of the customers they have sent information about
>> products to.
>>
>> Any help greatfully accepted.
>>
>> --
>> Siv
>> Martley, Near Worcester, United Kingdom.
>>
>
>
Author
6 May 2006 1:21 AM
Siv
Afraid to say the changes made in the KB article made no difference, I think
the error is in my code at the point that the MAPI login occurs.
Siv
Show quoteHide quote
"Siv" <dotnet@remove_me.sivill.com> wrote in message
news:OXvdF31bGHA.1856@TK2MSFTNGP03.phx.gbl...
> Hi,
> Thanks for your reply, I was hoping to report back and let you know if the
> suggestion worked but I can't get access to the PC that is causing me
> problems at the moment (I am remote support/development for the client) so
> when I have tried these suggestions I will report back.
>
> The main thrust of the original post though was to see if anyone had
> tackled this problem without using MAPI.  I have looked at loads of
> examples but most people seem to be sending using SMTP directly and I have
> not found any examples that use embedded graphics, most use embedded links
> to graphics on a web server which isn't what I need to do, the graphics
> must appear within the body of the HTML email.  My existing code does this
> quite happily but doesn't seem to work where the user has Office 2003
> installed? However it works fine on my own system which does have office
> 2003 only installed.
>
> I have tested the application within the VS.Net environment and as a
> standalone exe file and it runs fine on my system. The setup program
> places the following DLL files into the program files folder:
>
> AxInterop.SHDocVw.dll
> Interop.MAPI.dll
> Interop.Microsoft.Office.Core.dll
> Interop.Outlook.dll
> Interop.SHDocVw.dll
> MSO.DLL
> stdole.dll
> msoutl.olb
> PriceList.exe
> PriceList.pdb
>
> PriceList.exe being the main program file.
>
> Thanks
> Siv
>
> "vbnetdev" <vbnetdev@community.nospam> wrote in message
> news:O5JNpDubGHA.3856@TK2MSFTNGP03.phx.gbl...
>> http://support.microsoft.com/default.aspx?scid=kb;en-us;327219
>>
>>
>> --
>> Get a powerful web, database, application, and email hosting with KJM
>> Solutions
>> http://www.kjmsolutions.com
>>
>>
>>
>> "Siv" <dotnet@remove_me.sivill.com> wrote in message
>> news:uZcN5GtbGHA.3956@TK2MSFTNGP05.phx.gbl...
>>> Hi,
>>> A little while ago I wrote a small program that allowed the user to view
>>> products from a database.  The database holds the details of the
>>> products which can be viewed via a form and additionally pictures of the
>>> product are stored in an images subfolder and the database holds the
>>> file name of the relevant picture. The user can then click a button to
>>> display the picture in a pop-up window and also another button to email
>>> the potential customer with the details and the picture embedded in the
>>> HTML formatted email.
>>>
>>> This all worked swimmingly when the client was using Office 2000, since
>>> they have moved to Office 2003 I get loads of problems at the point
>>> where MAPI is accessed with the following:
>>>
>>> See the end of this message for details on invoking
>>> just-in-time (JIT) debugging instead of this dialog box.
>>>
>>> ************** Exception Text **************
>>> System.Exception: Cannot create ActiveX component.
>>>   at Microsoft.VisualBasic.Interaction.CreateObject(String ProgId,
>>> String ServerName)
>>>   at PriceList.frmEmail.EmbeddedHTMLGraphicMessage(String EmailAddress,
>>> String Subject, String BodyHTML)
>>>   at PriceList.frmEmail.Button1_Click(Object sender, EventArgs e)
>>>   at System.Windows.Forms.Control.OnClick(EventArgs e)
>>>   at System.Windows.Forms.Button.OnClick(EventArgs e)
>>>   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
>>>   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
>>> button, Int32 clicks)
>>>   at System.Windows.Forms.Control.WndProc(Message& m)
>>>   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
>>>   at System.Windows.Forms.Button.WndProc(Message& m)
>>>   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&
>>> m)
>>>   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&
>>> m)
>>>   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
>>> IntPtr wparam, IntPtr lparam)
>>>
>>>
>>> ************** Loaded Assemblies **************
>>> mscorlib
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
>>> ----------------------------------------
>>> PriceList
>>>    Assembly Version: 1.0.2314.1775
>>>    Win32 Version: 1.0.2314.1775
>>>    CodeBase:
>>> file:///C:/Program%20Files/Tamarisk/The%20Pricelist%20Application/PriceList.exe
>>> ----------------------------------------
>>> System.Windows.Forms
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
>>> ----------------------------------------
>>> System
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
>>> ----------------------------------------
>>> System.Drawing
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
>>> ----------------------------------------
>>> Microsoft.VisualBasic
>>>    Assembly Version: 8.0.0.0
>>>    Win32 Version: 8.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
>>> ----------------------------------------
>>> System.Data
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
>>> ----------------------------------------
>>> System.Transactions
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
>>> ----------------------------------------
>>> System.EnterpriseServices
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
>>> ----------------------------------------
>>> System.Configuration
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
>>> ----------------------------------------
>>> System.Xml
>>>    Assembly Version: 2.0.0.0
>>>    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
>>> ----------------------------------------
>>> Microsoft.Office.Interop.Outlook
>>>    Assembly Version: 11.0.0.0
>>>    Win32 Version: 11.0.5530
>>>    CodeBase:
>>> file:///C:/WINDOWS/assembly/GAC/Microsoft.Office.Interop.Outlook/11.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Outlook.dll
>>> ----------------------------------------
>>> Interop.MAPI
>>>    Assembly Version: 1.21.0.0
>>>    Win32 Version: 1.21.0.0
>>>    CodeBase:
>>> file:///C:/Program%20Files/Tamarisk/The%20Pricelist%20Application/Interop.MAPI.DLL
>>> ----------------------------------------
>>> On reading the Microsoft notes I can find on MSDN it appears that MS
>>> don't want you creating HTML based email using calls to MAPI and suggest
>>> that you do it using System.Web.Mail or other components.
>>>
>>> Has anyone had this problem and found a way to create emails using
>>> Outlook without needing to use MAPI or not using MAPI directly.  I have
>>> been scouring the NET and can't really find a solution that uses managed
>>> code. I want to keep the email within Outlook rather than directly
>>> sending using SMTP mail as I would like the user to have a record in
>>> their sent items of the customers they have sent information about
>>> products to.
>>>
>>> Any help greatfully accepted.
>>>
>>> --
>>> Siv
>>> Martley, Near Worcester, United Kingdom.
>>>
>>
>>
>
>