Friday, February 10, 2006

CDO.Net Sample Application

This is a sample for Sending Email using CDO.Net. Don't forget to add the reference to Microsoft CDO for Exchange Library.

'set constants
Public Const cdoLow = 0
Public Const cdoNormal = 1
Public Const cdoHigh = 2
Public Const cdoSendUsingPort = 2
Public Const cdoSendUsingExchange = 3
Public Const cdoImportance = "urn:schemas:httpmail:importance"
Public Const cdoSendUsingMethod = _
"http://schemas.microsoft.com/cdo/ configuration/sendusing"
Public Const cdoSMTPServer = _
"http://schemas.microsoft.com/cdo/ configuration/smtpserver"
Public Const cdoSMTPServerPort = _
"http://schemas.microsoft.com/cdo/ configuration/smtpserverport"
Public Const cdoSMTPConnectionTimeout = _
"http://schemas.microsoft.com/cdo/ configuration/smtpconnectiontimeout"
Public Const cdoSMTPAuthenticate = _
"http://schemas.microsoft.com/cdo/ configuration/smtpauthenticate"
Public Const cdoBasic = 1
Public Const cdoSendUserName = _
"http://schemas.microsoft.com/cdo/ configuration/sendusername"
Public Const cdoSendPassword = _
"http://schemas.microsoft.com/cdo/ configuration/sendpassword"


Dim objConfig As CDO.Configuration
Dim oFields As ADODB.Fields
Dim oField As ADODB.Field
Dim objMessage As CDO.Message


'---------------- SETUP CONNECTION --------------
'Setup configuration to connect to Exchange Server using SMTP
objConfig = New CDO.Configuration
oFields = objConfig.Fields
' Set config fields we care about
oField = oFields(cdoSendUsingMethod)
oField.Value = cdoSendUsingPort
'Change to read web.config SmptServer section
oField = oFields(cdoSMTPServer)
oField.Value = ConfigurationSettings.AppSettings("EmailServer")
'set SMTP port
oField = oFields(cdoSMTPServerPort)
oField.Value = 25
'set connection timeout
oField = oFields(cdoSMTPConnectionTimeout)
oField.Value = ConfigurationSettings.AppSettings("ConnectionTimeOut")
'set smtp autenthication
oField = oFields(cdoSMTPAuthenticate)
oField.Value = cdoBasic
'set username
oField = oFields(cdoSendUserName)
oField.Value = ConfigurationSettings.AppSettings("DomainName") & "\" & strUserId
'set password
oField = oFields(cdoSendPassword)
oField.Value = strPassword
oFields.Update()


'-------------- CREATE CDO Message Object -----------
objMessage = CreateObject("CDO.Message")
objMessage.Configuration = objConfig


'set the sender
objMessage.From = strEmail


'set destination
objMessage.To = strEmailTo

'set carbon copy
objMessage.CC = strEmailCC


'set blank carbon copy
objMessage.BCC = strEmailBCC


'set the subject
objMessage.Subject = strSubject


'set the message body
objMessage.TextBody = strBody


'add attachment
objMessage.AddAttachment(strFilePath)


'set the message importance
objMessage.Fields(cdoImportance).Value = cdoHigh

'save the message
objMessage.Fields.Update()


'send the message
objMessage.Send()

No comments: