We are under construction!

You may experience downtime, errors or visual oddities, but we anticipate all will be resolved by the end of the day.

Forum Discussion

Shivangi's avatar
Shivangi
New Contributor II
9 months ago

Attaching file to the Mail

Hi,

Is it possible to attach a file from the public folder to the mail using the function,

BRApi.Utilities.SendMail(si, emailConnectionName, toEmailAddresses, subject, body, attachmentFilePaths)

Would appreciate any assistance.

Thank You.

  • RobbSalzmann's avatar
    RobbSalzmann
    Valued Contributor II

    Hi Shivangi  Here's an extender sample to help get you started

    Namespace OneStream.BusinessRule.Extender.SendMail
        Public Class MainClass
            Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As ExtenderArgs) As Object
                Try
                    Dim fileFullName As String = "EmailAttachment.png"
                    Dim failGracefully As Boolean = True
                    Dim includeContentFileBytes As Boolean = True
                    Dim objXFFileEx As XFFileEx = BRApi.FileSystem.GetFile(si, FileSystemLocation.ApplicationDatabase, fileFullName, includeContentFileBytes, failGracefully)
                    Dim fullNamePath As String = objXFFileEx.XFFile.FileInfo.FullName
                    Dim attachmentFilePaths As List(Of String) = New List(Of String)() From {
                        fullNamePath
                    }
                     Return Nothing
                Catch ex As Exception
                    Throw ErrorHandler.LogWrite(si, New XFException(si, ex))
                End Try
            End Function
        End Class
    End Namespace

     

    • Shivangi's avatar
      Shivangi
      New Contributor II

      Hi, Thank You for providing the snippet. I tried this way to attach my file, I was getting the File path as well but when I pass the filepath in the BRApi.Utilities.SendMail(...) function I was getting an error.

      Could not find a part of the path 'C:\Program Files\OneStream Software\OneStreamAppRoot\OneStreamApp\Documents\Public\File.csv

       
      Code:
      Dim failGracefully As Boolean = True
      Dim includeContentFileBytes As Boolean = True
      Dim objXFFileEx As XFFileEx = BRApi.FileSystem.GetFile(si, FileSystemLocation.ApplicationDatabase, "Documents\Public\File.csv", includeContentFileBytes, failGracefully)
      Dim fullNamePath As String = objXFFileEx.XFFile.FileInfo.FullName
      Dim attachmentFilePaths As List(Of String) = New List(Of String)() From {
                          fullNamePath
                      }
      BRApi.Utilities.SendMail(si, emailConnectionName, toEmail, subject, Msg, True, attachmentFilePaths)
       
      • mireles's avatar
        mireles
        New Contributor

        Hi Shivangi,

        Were you able to find a solution to this problem? I'm encountering the same issue.

        Thanks.