Sending outlook email with body as contents of a text file

vbscript

Solution

    'I didn't look into the particular issue with your file reading.
    'Below my example, just tested it works.
    'Good luck mate :)

        Sub CatchMe()

          Dim outobj, mailobj
          Dim strFileText
          Dim objFileToRead

          Set outobj = CreateObject("Outlook.Application")
          Set mailobj = outobj.CreateItem(0)
          strFileText = GetText("C:\Share\1.txt")

            With mailobj
            .To = "user@user.com"
            .Subject = "Testmail"
            .Body = strFileText
            .Display
          End With

          'Clear the memory
          Set outobj = Nothing
          Set mailobj = Nothing

        End Sub

        Function GetText(sFile As String) As String
           Dim nSourceFile As Integer, sText As String
           nSourceFile = FreeFile
           'Write the entire file to sText
           Open sFile For Input As #nSourceFile
           sText = Input$(LOF(1), 1)
           Close
           GetText = sText
        End Function

Problem

I want to send an outlook email using VBScript. The body of the email should contains the contents of a text file, say `sha.txt`. Below is the code I am using but it's giving me this error: Run Time error '287': Application-defined or Object defined error ``` Sub email1() Dim outobj, mailobj Dim strFileText Dim objFileToRead Set outobj = CreateObject("Outlook.Application") Set mailobj = outobj.CreateItem(0) Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\Users\sonu\Desktop\auto\sha.txt", 1) strFileText = objFileToRead.ReadAll() objFileToRead.Close Set objFileToRead = Nothing With mailobj .To = "user@user.com" .Subject = "Testmail" .Body = strFileText .Send End With 'Clear the memory Set outobj = Nothing Set mailobj = Nothing End Sub ```

Original source

Related problems