Embed file contents to body of CDO message

I am using vbscript to send messages from Windows Server 2003.  All is well except that I cannot find a way to embed the contents of a text file into the message body.  It will work as an attachment, but that is not what Im looking for.  Heres the code:


Set objArgs = WScript.Arguments
 
Set objSendMail = CreateObject("CDO.Message")
Set network = CreateObject("wscript.network")
      
objSendMail.From = "Operating.System@mydomain.com"
objSendMail.To = objArgs(0)
objSendMail.Subject = network.computername & " : " & objArgs(1)
objSendMail.TextBody = objArgs(2)
objSendMail.AddAttachment objArgs(3) 'heres where I want to add the filepath
objSendMail.Send
         
Set objSendMail = Nothing			    
Set network = Nothing

Open in new window

LVL 11
BillPowellAsked:
Who is Participating?
 
chandru_solConnect With a Mentor Commented:
Try this.......

'These constants are defined to make the code more readable
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
'Open the file for reading
Set f = fso.OpenTextFile("c:\temp\MyEmail.txt", ForReading)
'The ReadAll method reads the entire file into the variable BodyText
BodyText = f.ReadAll
'Close the file
f.Close
Set f = Nothing
Set fso = Nothing

this link will give you lots about CDO

http://www.paulsadowski.com/WSH/cdo.htm

regards
Chandru

Re
0
 
PerceptiveSoftwareCommented:
Chandru,

I have tried using that code before, and it will not include the contents of the file in my email body.  I've tried both HTML and Text, and neither work.  Any gotchas I should look for?  I've attached the part of my code that creates and sends the email.  I do get the emails, they're just blank.

Thanks
'These constants are defined to make the code more readable
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f, BodyText
Set fso = CreateObject("Scripting.FileSystemObject")
'Open the file for reading
Set f = fso.OpenHTMLFile("c:\PasswordExpirationNotifier\PWD.html", ForReading)
'The ReadAll method reads the entire file into the variable BodyText
Set BodyText = f.ReadAll
'Close the file
f.Close
Set f = Nothing
Set fso = Nothing
 
Sub SendEmailMessage(strDestEmail, strNoOfDays)
  Set objMessage = CreateObject("CDO.Message")
  objMessage.Subject = "Password Expires in " & strNoOfDays & " days"
  objMessage.Sender = "administrator@mydomain.com"
  objMessage.To = "me@mydomain.com"
  objMessage.HTMLBody = BodyText
  objMessage.Send
End Sub

Open in new window

0
All Courses

From novice to tech pro — start learning today.