• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 330
  • Last Modified:

Releasing file after sending it as attachment VB.net

Hi

I have a problem, using the code bellow I send a file as attachment, but I have trouble as the program dose not release it after the file is sent.

Please help me to release the file so that other processes can use it

Michal
'Sending module
        sender = Form1.TextBox42.Text
        recipient = Form1.TextBox50.Text
        Subject = "Todays File " & Fdate & ".csv"
        attachmentString = ArchiveLocation & "\Archives\" & AnyDate.Year.ToString("0000") & "\" & AnyDate.Month.ToString("00") & "\" & Fdate & ".csv"
 
        Dim fromAddress As New Net.Mail.MailAddress(sender)
        Dim toAddress As New Net.Mail.MailAddress(recipient)
        Dim message As New Net.Mail.MailMessage(fromAddress, toAddress)
 
        Dim mailSender As Net.Mail.SmtpClient
        ' Change the Smtp server name on the next line
        mailSender = New Net.Mail.SmtpClient(Form1.TextBox41.Text, Form1.TextBox55.Text)
 
        ' message.Bcc.Add(fromAddress)
        message.Subject = Subject
        message.IsBodyHtml = True
        message.Body = "Todays CSV File "
 
        If Not attachmentString = "" Then
            Dim msgAttach As New Net.Mail.Attachment(attachmentString)
            message.Attachments.Add(msgAttach)
        End If
 
        Try
 
            mailSender.Send(message)
 
       
            MsgBox("File Sent")
 
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error Mail Not Sent")
        End Try
101:
    End Sub

Open in new window

0
MichMat
Asked:
MichMat
  • 3
1 Solution
 
rgn2121Commented:
Do you dispose of your message object?  I have never had that issue and I have an app that exports data to Excel, attches it and sends it out.
0
 
rgn2121Commented:
Something like this...
'Code to send email
        smtpServer.Send(msg)
        msg.Dispose()
        smtpServer = Nothing
        msg = Nothing

Open in new window

0
 
rgn2121Commented:
I know that it doesn't retain access, because I delete the file after it has been sent...
0
 
burningmaceCommented:
Load the attachment as an IO stream:
Dim fileName As String = "C:\file.txt"
Dim attFile As New FileStream(fileName, FileMode.Open, FileAccess.Read)
Dim att As New Net.Mail.Attachment(attFile, "attachment-file-name.txt")
' ... send code goes here ...
Try
    attFile.Close()
Catch ex As Exception
End Try

Open in new window

0
 
MichMatAuthor Commented:
Thank you that fixed the issue
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now