Error in Sending Email via CDO

D

Danniel Chen

I stole the following code from Ron De Bruin's website with minor modification.
The SMTP server name "smtp.sbcglobal.yahoo.com" is from my ISP.
The SMTP server name is the same as I set up my outlook express outgoing
mail and which works fine.
When I tried to execute the following code, the got the following error
message:

------------------------------------------------
Run-time error '-2147220975(80040211)'
The message could not be sent to the SMTP server.
The transport error code was 0x80040217.
The server response is not available.
------------------------------------------------

Any suggestion to remove the error message?
Thanks a lot.

Danniel CHEN

Houston, TX
U.S.A

P.S. My outlook express (using same account and SMTP server) works fine.

========= CODE ========= CODE =========
Sub SendEmail()
Dim iMsg As Object
Dim iConf As Object
Dim Flds As Variant

Application.ScreenUpdating = False
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields

With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "smtp.sbcglobal.yahoo.com"

..Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With

With iMsg
Set .Configuration = iConf
.To = "(e-mail address removed)"
.CC = ""
.BCC = ""
.From = """ABC ZZZ"" <[email protected]>"
.Subject = "This is a test"
.TextBody = "Hi there"
'.AddAttachment "C:/" & WBname
' You can add any file you want with this line .AddAttachment
"C:/Test.txt"
.Send
End With

Set iMsg = Nothing
Set iConf = Nothing
Application.ScreenUpdating = True
End Sub
=========================================================
 
R

Ron de Bruin

Hi Danniel

If you have a account in OE you don't need the commented lines
in my examples.
Try it without them
 
D

Danniel Chen

I got same error message after commented the lines (Flds).
Is this only for my computer?
 
R

Ron de Bruin

Hi Danniel

Do you use Win 2000 or win XP ?
Are you online when you run the sub?
 
D

Danniel Chen

Ron: I got the same error message after commented the flds lines.
Is this because of my computer?
Thanks for help.
 
R

Ron de Bruin

Hi Danniel

Maybe your IT department block this ??

Show me the macro you are using.
Maybe I see something?
 
M

mikems

Hi,

I have tried two differents macro to send email via CDO in order not t
have the Outlook confirmation button, but I have an error while runnin
both here are the codes and error messages :

-Sub envoimail()

' Reference to Microsoft ActiveX Data Objects 2.5 Library
' Reference to Microsoft CDO for Windows 2000 Library
Dim iConf As New CDO.Configuration
Dim Flds As ADODB.Fields

Set Flds = iConf.Fields
Flds(cdoSendUsingMethod) = cdoSendUsingPort ' 2
Flds(cdoSMTPServer) = "mailvel.velizy.fr.sterianet"
Flds(cdoSMTPServerPort) = 25
Flds(cdoSMTPAccountName) = "mylogin"
Flds(cdoSMTPAuthenticate) = cdoBasic ' 1

Flds(cdoSendUserName) = "mylogin"
Flds(CdoSendPassword) = "mypassword"

Flds(cdoSendEmailAddress) = """Michaël Sochon"
<[email protected]>"
Flds(cdoSMTPUseSSL) = True
Flds.Update

Dim iMsg As New CDO.Message
Set iMsg.Configuration = iConf

With iMsg
.To = "(e-mail address removed)"
.CC = "(e-mail address removed)"
.BCC = ""
.From = """Michaël Sochon"" <[email protected]>"
.Subject = "This is a test"
.TextBody = "This is the body text"
.AddAttachment "D:\Mes documents\Steria\Manpower\Stat
réléphonie\suivi_global.xls "
End With
iMsg.Send

Set iMsg = Nothing
Set iConf = Nothing

End Sub-

There the error message is : Transport failed while connecting t
server. :eek:

the other macro is :

-Sub envoimailbis()
Dim iMsg As Object
Dim iConf As Object


Application.ScreenUpdating = False

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")


With iMsg
Set .Configuration = iConf
.To = "(e-mail address removed)"
.CC = "(e-mail address removed)"
.BCC = ""
.From = """Michaël Sochon"" <[email protected]>"
.Subject = "This is a test"
.TextBody = "This is the body text"
.AddAttachment "D:\Mes documents\Steria\Manpower\Stat
réléphonie\suivi_global.xls "
.Send
End With

Set iMsg = Nothing
Set iConf = Nothing
Set wb = Nothing
Application.ScreenUpdating = True

End Sub-

And the error msg is : Configuration value "sendusing" is invalid
:eek:

Can anyone help about this...
 
M

mikems

Daniel,

I copied/pasted your code and it worked for me.
If anyone has the answers to my question, that still would be nice, bu
at least thanx to Daniel I found a way out of this :
 
K

keepITcool

i think you dont have the following line
at the top of your code...

OPTION EXPLICIT

put it there..

then try to Debug / Compile

all the lines inside your WITH/ENDWITH
clauses are missing . before the property.
thus they set variables and NOT properties of
the object

With iMsg
To = "(e-mail address removed)"
CC = "(e-mail address removed)"

must be:

With iMsg
.To = "(e-mail address removed)"
.CC = "(e-mail address removed)"


IF this is the problem and not due to copy/paste editing.
then I'd advise you to check following option in the VB Editor:

Tools/Options
Require Variable declaration

(which ensures that all new modules
include the option explicit line





keepITcool

< email : keepitcool chello nl (with @ and .) >
< homepage: http://members.chello.nl/keepitcool >
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top