5

I am trying to send an email via VBS but I keep getting errors. I want it to send a email as simple as possible.

Does not work, with this error:

        Set objEmail = CreateObject("CDO.Message")
        objEmail.From = "othermail@hey.com"
        objEmail.To = "myemail@yahoo.com"
        objEmail.Subject = "thisisasubject" 
        objEmail.Textbody = "Here is the message"
        objEmail.Send

Error:

line: 6

Char: 1 error: The "sendusing"configuration value is invalid. 80040220

Community
  • 1
  • 1
Tim
  • 51
  • 1
  • 1
  • 3

2 Answers2

7
Set emailObj      = CreateObject("CDO.Message")

emailObj.From     = "dc@gail.com"
emailObj.To       = "dc@gail.com"

emailObj.Subject  = "Test CDO"
emailObj.TextBody = "Test CDO"

Set emailConfig = emailObj.Configuration

emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing")    = 2  
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1  
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")      = true 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername")    = "YourUserName"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword")    = "Password1"

emailConfig.Fields.Update

emailObj.Send

If err.number = 0 then Msgbox "Done"
David Candy
  • 735
  • 5
  • 8
  • PS: Your code would work on older computers and it would have used Outlook's Express default account for the default identity for the current user. It would also try to find other accounts if necessary. This makes prediction difficult so always specify the mail settings. – David Candy Feb 24 '14 at 21:22
3
Set MyEmail=CreateObject("CDO.Message")

Const cdoBasic=0 'Do not Authenticate
Const cdoAuth=1 'Basic Authentication

MyEmail.Subject = "Subject"
MyEmail.From    = "<fromsample@mail.com>"
MyEmail.To      = "<tosample@mail.com>"
MyEmail.TextBody= "TEST MAIL"

MyEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2

'SMTP Server
MyEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.server.com"

'SMTP Port
MyEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25


MyEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1

'Your UserID on the SMTP server
MyEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username"

'Your password on the SMTP server
MyEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"


'Use SSL for the connection (False or True)
MyEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False

MyEmail.Configuration.Fields.Update
MyEmail.Send

Set MyEmail=nothing
Saba
  • 31
  • 2