Sending email in SSIS using script task

Sending mail using script task. We can send email with attachments and also either in text format or in HTML format

 Public Sub SendMail(ByVal message As String)
        Dim vars As Variables
        Dim myHtmlMessage As MailMessage
        Dim mySmtpClient As SmtpClient
       
        myHtmlMessage = New MailMessage()

        Dim FromAddress As String
        Dts.VariableDispenser.LockOneForWrite("from", vars)
        FromAddress = vars("from").Value.ToString().Trim()
        vars.Unlock()

        Dim ToAddress As String
        Dts.VariableDispenser.LockOneForWrite("to", vars)
        ToAddress = vars("to").Value.ToString().Trim()
        vars.Unlock()

        Dim CCAddress As String
        Dts.VariableDispenser.LockOneForWrite("cc", vars)
        CCAddress = vars("cc").Value.ToString().Trim()
        vars.Unlock()

        Dim SmtpClient As String
        Dts.VariableDispenser.LockOneForWrite("smtpServer", vars)
        SmtpClient = vars("smtpServer").Value.ToString().Trim()
        vars.Unlock()

       myHtmlMessage.From = New Mail.MailAddress(FromAddress)

        Dim tt As String()
        If (ToAddress.ToString().Trim().Length > 0) Then
            If (ToAddress.IndexOf(";") > 0) Then
                tt = ToAddress.Split(";")
                Dim c As String
                If (tt.Length > 0) Then
                    For Each c In tt
                        myHtmlMessage.To.Add(c)
                    Next
                End If
            Else
                myHtmlMessage.To.Add(ToAddress.ToString().Trim())
            End If
        End If

        Dim cc As String()
        If (CCAddress.ToString().Trim().Length > 0) Then
            If (CCAddress.IndexOf(";") > 0) Then
                cc = CCAddress.Split(";")
                Dim c As String
                If (cc.Length > 0) Then
                    For Each c In cc
                        myHtmlMessage.CC.Add(c)
                    Next
                End If
            Else
                myHtmlMessage.CC.Add(CCAddress)
            End If
        End If

        Dim MailSubject As String = " Email scheduling process"
        Dim mailBody As String = "Hi, </BR>" + message + "</BR> Thanks, </BR> XXX"

        myHtmlMessage.Subject = MailSubject
        myHtmlMessage.IsBodyHtml = True
        mySmtpClient = New SmtpClient(SmtpClient)
        mySmtpClient.Credentials = CredentialCache.DefaultNetworkCredentials

        mySmtpClient.Send(myHtmlMessage)
                     
    End Sub

By Cos mos   Popularity  (7722 Views)