Я пытаюсь создать и отправить динамический файл csv в виде вложения по почте, но он не работает. Я могу отправить почту с прикреплением, но файл будет пустым. Ниже приведен мой код:Невозможно создать и отправить файл динамической CSV в виде вложения по почте
var notProcessedRecords = FileFTPData.Where(x => x.LastName.StartsWith("9999")).ToList();
string loggedInUserName = "Administrator";
try
{
MemoryStream stream = new MemoryStream();
TextWriter writer = new StreamWriter(stream, Encoding.Default);
StringBuilder sb = new StringBuilder();
sb.AppendFormat(string.Format("{0}, {1}, {2}, {3}, {4}, {5} ", "FIRSTNAME", "LASTNAME", "USERID", "COMPANYNAME", "EMAIL", "PHONE"));
foreach (var item in notProcessedRecords)
{
sb.AppendLine();
sb.AppendFormat(string.Format("{0}, {1}, {2}, {3}, {4}, {5} ", item.FirstName, item.LastName, item.UserId, item.CompanyName, item.Email, item.Phone));
}
writer.WriteLine(sb);
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("******@gmail.com");
mail.To.Add("*******@yahoo.com");
mail.Subject = "FTP file processing status";
mail.Body = "<div>Hello " + loggedInUserName + ", </br></br> Following item are restricted from processing, due to some errors. Please check Process description for the same. </br></br> From, </br>Streben Support </div>";
mail.IsBodyHtml = true;
Attachment attachment = new Attachment(stream, new ContentType("text/csv"));
attachment.Name = "test.csv";
mail.Attachments.Add(attachment);
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("******@gmail.com", "******");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
}
catch(Exception ex)
{
}
Может ли кто-нибудь помочь мне в исправлении проблемы?
Я установил stream.position = 0, файл по-прежнему пуст в приложении. – Sachin
Вы установили флажок перед настройкой позиции? –
Нет. Я сделал флеш после этой строки: Attachment attachment = new Attachment (stream, new ContentType ("text/csv")); attachment.Name = "test.csv"; mail.Attachments.Add (приложение); writer.Flush(); – Sachin