I am doing an email form. Email has attachments and after attaching files email is sent. Next there is requirement to delete file from server. When I tried to get the file it gave me the subject error. I am even calling GC.Collect() before deleting the file but error is still there. My code for deleting file is:
private void DeleteFiles(DataTable dt)
{
GC.Collect();
String[] sAttachments = new String[dt.Rows.Count];
try
{
sAttachments = new String[dt.Rows.Count];
for (Int32 J = 0; J < dt.Rows.Count; J++)
{
sAttachments[J] = dt.Rows[J]["AttachmentExt"].ToString().Trim();
string workDir = Server.MapPath(".") + @"\upload\";
if (File.Exists(workDir + sAttachments[J]))
File.Delete(workDir + sAttachments[J]);
}
}
catch (Exception ex)
{
}
For attaching file to email my code is:
oMess.Subject = sSubject;
string workDir = System.Web.HttpContext.Current.Server.MapPath(".") + @"\upload\";
if (Attachments != null)
{
for (Int32 I = 0; I < Attachments.Length; I++)
{
oatt = new Attachment(workDir+ sAttachments[I]);
oMess.Attachments.Add(oatt);
}
}
oMess.IsBodyHtml = IsHtml;
oMess.Body = sBody;
SendMessageGmail(oMess);
Edit: My mail sending code is:
private void SendMessageGmail(MailMessage message)
{
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.EnableSsl = true;
client.UseDefaultCredentials = false;
NetworkCredential loginInfo = new NetworkCredential("myid", "mypassword");
client.Credentials = loginInfo;
client.Port = 587;
client.Send(message);
}
Plz guide and help. thanks
Press Ctrl + Alt + Delete, then click Task Manager. Ensure you're on the Processes tab. Locate and right-click SidekickTrayWPF, then select End Process. If a warning window opens to ask if you want to end the process, click End Process again to confirm.
To create a copy of a file that is read- and/or write-locked by another process on Windows, the simplest (and probably only) solution is to use the Volume Shadow Copy Service (VSS). The Volume Shadow Copy Service is complex and difficult to call from managed code.
Use this one. It worked for me
client.Send(oMess);
oMess.Attachments.Dispose();
I tried this one but it didn`t work for me
client.Send(oMess);
oMess.Dispose();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With