Dxpert
asked on
Send E-Mail (CDO) Win2K / XP {Hell}
Hey guys,
I am very frusted at this point. I have upgraded my development machine to XP Professional as per request and now everytime i recompile my applications my send e-mail procedures don't work.
Here's how my code used to be:
Dim cdoObj As CDO.Message
Set cdoObj = New CDO.Message
With cdoObj
.To = "user@domain.com"
.From = "anotheruser@domain.com"
.TextBody = strMessage
.Send
End With
Set cdoObj = Nothing
and this used to work just fine. Now when i go to the References window in my project there are 2 CDO Libraries:
- Microsoft CDO For Exchange 2000 Library (This is automatically selected when i open my projects)
- Microsoft CDO 1.21 Library
I have been searching on msdn.microsoft.com and have tried all the settings i could imagine but still my e-mails don't get delivered. They don't get posted in the PickUp Directory. They all go to the C:\Inetpub\mailroot\Badmai l directory.
Here's the error in one of the files:
Unable to deliver this message because the follow error was encountered: "Error is processing file in pickup directory.".
The specific error code was 0xC00402CE.
I get this error in both machines (XP/Win2K). But there are no erros from VB.
Any help would be appreciated.
Thanks.
I am very frusted at this point. I have upgraded my development machine to XP Professional as per request and now everytime i recompile my applications my send e-mail procedures don't work.
Here's how my code used to be:
Dim cdoObj As CDO.Message
Set cdoObj = New CDO.Message
With cdoObj
.To = "user@domain.com"
.From = "anotheruser@domain.com"
.TextBody = strMessage
.Send
End With
Set cdoObj = Nothing
and this used to work just fine. Now when i go to the References window in my project there are 2 CDO Libraries:
- Microsoft CDO For Exchange 2000 Library (This is automatically selected when i open my projects)
- Microsoft CDO 1.21 Library
I have been searching on msdn.microsoft.com and have tried all the settings i could imagine but still my e-mails don't get delivered. They don't get posted in the PickUp Directory. They all go to the C:\Inetpub\mailroot\Badmai
Here's the error in one of the files:
Unable to deliver this message because the follow error was encountered: "Error is processing file in pickup directory.".
The specific error code was 0xC00402CE.
I get this error in both machines (XP/Win2K). But there are no erros from VB.
Any help would be appreciated.
Thanks.
ASKER
Does this code work on a box without office installed? I need to run it on a server that is running only IIS.
Thanks
=:-)
Thanks
=:-)
The code I gave will probably not run without some sort of MAPI compliant client software installed. And, if the client is Outlook, then it also needs a default profile set up.
The last time I looked into sending e-mail from a Server without a user logged in (which throws off the default profile thing as this depends on the current logged on user), the only solution was to use CDONTS (the NTS stands for NT Server).
If you are running an NT Sever, you probably have CDONTS installed, so, no problem there. You'd need to reference CDONTS and not CDO in your VB project, then, you'll need sample source for using CDONTS, but I don't have any on hand. I'll take a quick look around, but this might give you something to go on for the moment.
The last time I looked into sending e-mail from a Server without a user logged in (which throws off the default profile thing as this depends on the current logged on user), the only solution was to use CDONTS (the NTS stands for NT Server).
If you are running an NT Sever, you probably have CDONTS installed, so, no problem there. You'd need to reference CDONTS and not CDO in your VB project, then, you'll need sample source for using CDONTS, but I don't have any on hand. I'll take a quick look around, but this might give you something to go on for the moment.
ASKER
I am using winXP prof. and win2K server.
The equivalent object for winxp is called CDOSYS.
You can find details (and samples of its use) of it here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_clb_sending_smtp_mail_by_port_25_using_cdosys_vb.asp
You can find details (and samples of its use) of it here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_clb_sending_smtp_mail_by_port_25_using_cdosys_vb.asp
ASKER
I will delete this question as none of the above comments has directly provided me with a solution for my problem. I put win2k back on my computer.
Thank you all.
Thank you all.
Dxpert, an EE Moderator will handle this for you.
Moderator, my recommended disposition is:
Refund points and save as a 0-pt PAQ.
DanRollins -- EE database cleanup volunteer
Moderator, my recommended disposition is:
Refund points and save as a 0-pt PAQ.
DanRollins -- EE database cleanup volunteer
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Dim objSession As Object
Dim objMessage As Object
Dim objRecipient As Object
On Error GoTo ErrorRtn
'Create the Session Object
Set objSession = CreateObject("mapi.session
objSession.Logon profileName:="Outlook"
'Add a new message object to the OutBox
Set objMessage = objSession.Outbox.Messages
objMessage.Subject = sSubjectText
objMessage.Text = sBodyText
'Add a recipient object to the objMessage.Recipients collection
Set objRecipient = objMessage.Recipients.Add
'Set the properties of the recipient object
objRecipient.Address = "SMTP:bob@yahoo.com"
'not sure what this refers to but only type 1 works
objRecipient.Type = 1
objRecipient.Resolve
objMessage.Send showDialog:=False
'Logoff using the session object
objSession.Logoff
ExitRtn:
Set objSession = Nothing
Set objMessage = Nothing
Set objRecipient = Nothing
Exit Function
ErrorRtn:
GoTo ExitRtn