Python To Send Emails Via Outlook Express

Ganesan R rganesan at myrealbox.com
Tue Dec 21 01:24:22 EST 2004


>>>>> "ian" == ian  <ian at kirbyfooty.com> writes:

> Hi Ganesan,
> I'm on the verge of giving up <sigh>
> I don't suppose you could write a small script to send the email for me
> via the default windows email client. 

I can see no easy way to do this. Though you can access the default mail
client using a registry key (I don't have enough win32 programming
experience to do this), there is no guarantee that the email client is a COM
server. Even Outlook Express is not a COM server. What if the user has
configured Eudora or something like that?

The best we can do is use Outlook Express settings and send the mail.

> I will then try running your script and my end to see if it works ok.  I
> may have missed something and would really appreciate your help.  

The final script that you pasted:

=====
import win32com.client

s = win32com.client.Dispatch('CDO.Message')
s.From = "ian at cgbs.com.au"
s.To = "ian at kirbyfooty.com"
s.Subject = "The subject"
cdoSourceOutlookExpress        = 2
s.Configuration.Load(cdoSourceOutlookExpress)
s.Send()
=====

works fine for me. According to CDO.Message documentation, if IIS is
installed that configuration will be used by default, followed by OE
configuration. I don't have IIS installed, so the script picked up the OE
configuration automatically for me. Here's a variation of the above
script. 

======
import win32com.client

s = win32com.client.Dispatch('CDO.Message')
c = win32com.client.Dispatch('CDO.Configuration')
cdoSourceOutlookExpress = 2
c.Load(cdoSourceOutlookExpress)
s.Configuration = c
s.From = "ian at cgbs.com.au"
s.To = "ian at kirbyfooty.com"
s.Subject = "The subject"

s.Send()
======

If that doesn't help, I give up :-(. 

Ganesan



More information about the Python-list mailing list