I need some advice on what to use for adding multiple attachment to a email. I'm using VB 2010.
First, I have a Form in my company web site to fill a reclamation ..... when you fill and send it, it convert the form into a PDF, save it in the client side "TEMP" and finally get the PDF and send it to a email..... that's perfectly fine. I add to the
form the capability of attach multiple files with file upload to the same "TEMP" and displayed in a Grid View to remove or add files and send everything to a email, the attachment capability is working. Everything is working with the PDF not the files(attachments).
There is a way to get the multiple files from the "TEMP" folder and add it to some dynamically variable (array list, attachment collection, list collection, etc.) so all can be send to the email. I already know the way to put it into the email with the PDF.
The problem is to get the files and add it to the dynamic variable and that it work with the email.
I already know the way to put it into the email with the PDF. The problem is to get the files and add it to the dynamic variable and that it work with the email.
Fi you know how to put 1 file, find all files by Directory.GetFiles
I use your advice to create a function. I need to made a full test, but my email is not working. This is the function.
Function add_attachment() As Boolean
Dim Email As New MailMessage
Dim files() As String = Directory.GetFiles(PdfTempFolder & "\TEMP\")
Dim attach_item As String
If files.Length > 0 Then
For i As Integer = 0 To files.Length - 1
attach_item = files(i).ToString
Email.Attachments.Add(New System.Net.Mail.Attachment(attach_item))
Next i
Return True
Else
Return False
End If
End Function
When i debug to made a test, fill the pdf and add the attachments to send the email. I do not receive the email. Everything is working the pdf and the attachments. I don't know if there is another way to make the test. I check the Path, the PDF and the attachments
are there. but not receive the email. I have to find out because i didn't touch the email part (code).
The problem was a Try , Catch exception when it construct the email. I fix it. Alll the attachments and the pdf are on the server path temp, there is a way to delete all the files and the temp directory when it finaly send it. I was trying but i get the
error that it can access the file because another process was using it.
mikediazpr
Member
142 Points
104 Posts
Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 2010
Oct 27, 2010 11:18 PM|LINK
Hello !
I need some advice on what to use for adding multiple attachment to a email. I'm using VB 2010.
First, I have a Form in my company web site to fill a reclamation ..... when you fill and send it, it convert the form into a PDF, save it in the client side "TEMP" and finally get the PDF and send it to a email..... that's perfectly fine. I add to the form the capability of attach multiple files with file upload to the same "TEMP" and displayed in a Grid View to remove or add files and send everything to a email, the attachment capability is working. Everything is working with the PDF not the files(attachments).
There is a way to get the multiple files from the "TEMP" folder and add it to some dynamically variable (array list, attachment collection, list collection, etc.) so all can be send to the email. I already know the way to put it into the email with the PDF. The problem is to get the files and add it to the dynamic variable and that it work with the email.
If the code is need it, let me know.
Thanks
ignatandrei
All-Star
135204 Points
21687 Posts
Moderator
MVP
Re: Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 201...
Oct 28, 2010 05:31 AM|LINK
Fi you know how to put 1 file, find all files by Directory.GetFiles
http://msdn.microsoft.com/en-us/library/07wt70x2.aspx
mikediazpr
Member
142 Points
104 Posts
Re: Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 201...
Oct 28, 2010 02:02 PM|LINK
Thanks
I’m gething the PDF directly by a path in a string variable:
AttFile = PdfTempFolder & "Temp\FormaLiabilityMunicipios" & Session.SessionID & ".pdf"
Then put it in here:
If File.Exists(AttFile) = True Then
EmailCls.CreateMessageWithAttch(AttFile, EmailAsunto, ToEmail, CCEmail, EmailMessage)
Me.EmailCopiaTextBox.Text = ""
Me.PnlDescarga.Visible = True
Me.DescargaLnk.NavigateUrl = UrlPath
End If
I’m looking for some way to use the Dyrectory.GetFiles(PdfTempFolder & "\Temp\") for each one of the files and put it in a variable defined as:
Dim attach_items As Net.Mail.AttachmentCollection so I can use it like this:
EmailCls.CreateMessageWithAttch(AttFile, attach_items, EmailAsunto, ToEmail, CCEmail, EmailMessage)
And send every file in the AttachmentCollection.
Thanks for your help.
ignatandrei
All-Star
135204 Points
21687 Posts
Moderator
MVP
Re: Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 201...
Oct 28, 2010 02:10 PM|LINK
Modify
to have the AttFile not string , but List<string>
then List<string> attfiles =new List<string>();
foreach(string FileName in Dyrectory.GetFiles(PdfTempFolder & "\Temp\*.pdf"))
attfilse.Add(FileName);
then call
EmailCls.CreateMessageWithAttch(attfiles, EmailAsunto, ToEmail, CCEmail, EmailMessage)
Please see in CreateMessageWithAttch how you attach the AttFile and then use a foreach to attach the attfiles
mikediazpr
Member
142 Points
104 Posts
Re: Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 201...
Oct 28, 2010 09:01 PM|LINK
Thanks,
I use your advice to create a function. I need to made a full test, but my email is not working. This is the function.
Function add_attachment() As Boolean Dim Email As New MailMessage Dim files() As String = Directory.GetFiles(PdfTempFolder & "\TEMP\") Dim attach_item As String If files.Length > 0 Then For i As Integer = 0 To files.Length - 1 attach_item = files(i).ToString Email.Attachments.Add(New System.Net.Mail.Attachment(attach_item)) Next i Return True Else Return False End If End FunctionThanks.
ignatandrei
All-Star
135204 Points
21687 Posts
Moderator
MVP
Re: Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 201...
Oct 28, 2010 09:12 PM|LINK
Why is not working ? There is some error ? ?
mikediazpr
Member
142 Points
104 Posts
Re: Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 201...
Oct 29, 2010 06:19 PM|LINK
When i debug to made a test, fill the pdf and add the attachments to send the email. I do not receive the email. Everything is working the pdf and the attachments. I don't know if there is another way to make the test. I check the Path, the PDF and the attachments are there. but not receive the email. I have to find out because i didn't touch the email part (code).
Tanks for all your help.
ignatandrei
All-Star
135204 Points
21687 Posts
Moderator
MVP
Re: Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 201...
Oct 29, 2010 07:24 PM|LINK
1. try removing the new code, put the old with 1 pdf. Does it work?
2. try modifying the project and , from the list, put only the first attachment. Does it work?
3. try modifying the project and , from the list, put all attachments. Does it work?
mikediazpr
Member
142 Points
104 Posts
Re: Adding multiple attachment (files) to a dynamic variable so it can be send to a email. VB 201...
Oct 29, 2010 08:32 PM|LINK
The problem was a Try , Catch exception when it construct the email. I fix it. Alll the attachments and the pdf are on the server path temp, there is a way to delete all the files and the temp directory when it finaly send it. I was trying but i get the error that it can access the file because another process was using it.
Tanks.