Solved

Releasing file after sending it as attachment VB.net

Posted on 2009-05-15
5
301 Views
Last Modified: 2012-05-07
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
Comment
Question by:MichMat
  • 3
5 Comments
 
LVL 12

Expert Comment

by:rgn2121
ID: 24393730
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
 
LVL 12

Accepted Solution

by:
rgn2121 earned 500 total points
ID: 24393737
Something like this...
'Code to send email
        smtpServer.Send(msg)
        msg.Dispose()
        smtpServer = Nothing
        msg = Nothing

Open in new window

0
 
LVL 12

Expert Comment

by:rgn2121
ID: 24393745
I know that it doesn't retain access, because I delete the file after it has been sent...
0
 
LVL 5

Expert Comment

by:burningmace
ID: 24393748
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
 

Author Closing Comment

by:MichMat
ID: 31581851
Thank you that fixed the issue
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question