there is something at aspfaq.com I have posted further down, but first I
would try this code directly below. (its in VB, you need to make
adjustments).
it seems to work from behind firewalls and the like, more info here
http://msdn.microsoft.com/library/de...figuration.asp
Dim iMsg As CDO.Message
Dim iConf
Dim Flds
Const cdoSendUsingPic kup = 1
Const strPickup = "c:\inetpub\mai lroot\pickup"
Private Sub createMailObjec t()
'Create the message object.
Set iMsg = CreateObject("C DO.Message")
'Create the configuration object.
Set iConf = iMsg.Configurat ion
With iConf.Fields
.Item("http://schemas.microso ft.com/cdo/configuration/sendusing") =
cdoSendUsingPic kup
..Item("http://schemas.microso ft.com/cdo/configuration/smtpserverpicku pdirect
ory") = strPickup
.Update
End With
End Sub
Sub sendHTML(cdoTo As String, cdoFRom As String, cdoSubject As String,
cdoHTML As String, Optional cdoAttch As Variant = "")
createMailObjec t
With iMsg
If IsArray(cdoAttc h) Then
For Each thing In cdoAttch
.AddAttachment (thing)
Next
End If
.To = cdoTo
.From = cdoFRom
.Subject = cdoSubject
.HTMLBody = cdoHTML
.Send
End With
Set iMsg = Nothing
End Sub
Sub sendText(cdoTo As String, cdoFRom As String, cdoSubject As String,
cdoText As String, Optional cdoAttch As Variant = "")
createMailObjec t
With iMsg
If IsArray(cdoAttc h) Then
For Each thing In cdoAttch
.AddAttachment (thing)
Next
End If
.To = cdoTo
.From = cdoFRom
.Subject = cdoSubject
.TextBody = cdoText
.Send
End With
Set iMsg = Nothing
End Sub
Sub sendWebPage(cdo To As String, cdoFRom As String, cdoSubject As String,
cdoPage As String, Optional cdoAttch As Variant = "")
createMailObjec t
With iMsg
With iMsg
If IsArray(cdoAttc h) Then
For Each thing In cdoAttch
.AddAttachment (thing)
Next
End If
.To = cdoTo
.From = cdoFRom
.Subject = cdoSubject
.CreateMHTMLBod y cdoPage
.Send
.HTMLBody = ""
End With
End With
Set iMsg = Nothing
End Sub
Private Sub Class_Terminate ()
Set iMsg = Nothing
End Sub
Why does CDO.Message give me an 8004020f error?
492 requests - last updated Thursday, June 27, 2002
When switching from CDONTS to CDO.Message, when using code like the
following (as described in Article #2026):
<%
sch = "http://schemas.microso ft.com/cdo/configuration/"
Set cdoConfig = Server.CreateOb ject("CDO.Confi guration")
cdoConfig.Field s.Item(sch & "sendusing" ) = 2
cdoConfig.Field s.Item(sch & "smtpserver ") = "<enter_mail.se rver_here>"
cdoConfig.field s.update
Set cdoMessage = Server.CreateOb ject("CDO.Messa ge")
Set cdoMessage.Conf iguration = cdoConfig
cdoMessage.From = "fr**@me.co m"
cdoMessage.To = "to@me.com"
cdoMessage.Subj ect = "Sample CDONTS NewMail"
cdoMessage.Text Body = "This is a test for CDONTS message"
cdoMessage.Send
Set cdoMessage = Nothing
Set cdoConfig = Nothing
%>
You might come across the following error:
error '8004020f'
The event class for this subscription is in an invalid partition
/<file>.asp, line <line>
It is not clear where this error message comes from; it's not even in
Microsoft's Knowledge Base or MSDN Library.
However here are some things you can try to alleviate the problem:
1. Make sure the SMTP server allows anonymous (non-authenticated) relaying.
Otherwise, you'll have to use a
mail component that supports SMTP authentication, like ASPEmail.
2. Check if the problem is specific to the domain name(s) used in the e-mail
addresses of the recipients. For
example, some users have complained that they can send to users on their own
domain only; others have
said that they can send to any domain except their own.
3. If you have a proxy or firewall, make sure the web server is set up to
correctly pass through it, that the
SMTP server knows about it, and that the proxy allows access to port 25.
4. Try using a SendUsing value of 1 (pickup) instead of 2 (port). E.g. the
following line:
cdoConfig.Field s.Item(sch & "sendusing" ) = 2
Becomes
cdoConfig.Field s.Item(sch & "sendusing" ) = 1
"Hugh Welford" <hu**********@b tinternet.com> wrote in message
news:ec******** ******@tk2msftn gp13.phx.gbl...
Hi Using WIN XP and FP2000
Using CDO.message to out put a message from my site, I get the following
error message 8004020f from using the code:-
strsql = "SELECT * FROM details WHERE patid = " & request("to") & ";"
objrec.open strsql, objconn, adopenforwardon ly, adlockoptimisti c,
adcmdtext
thetext = "Hello, " & request("nickto ") & " you have a new message on
online Connect from " & session("userna me") & "<br> <a target='_top'
href='http://www.onlineconne ct.biz/daters'><big><e m><strong>Clic k here to
log
into the site</strong></em></big></a> then check your messages.<br> Good
luck"
Set cdoConfig = Server.CreateOb ject("CDO.Confi guration")
With cdoConfig.Field s
.Item(cdoSendUs ingMethod) = cdoSendUsingPor t
.Item(cdoSMTPSe rver) = "pegasus.intone t.co.uk"
.Update
End With
Set cdoMessage = Server.CreateOb ject("CDO.Messa ge")
With cdoMessage
Set.Configurati on = cdoConfig
.From = "we*******@onli neconnect.biz"
.To = objrec("emailad dress")
.cc = "ul******@hotma il.com"
.Subject = "New messgage from Online Connect"
.HTMLBody = thetext
.Send
End With
Set cdoMessage = Nothing
Set cdoConfig = Nothing
any ideas?? thanks in advance Hugh