我正在尝试动态创建.txt文件,并且在使用某些内容创建它之后,我需要在电子邮件附件中发送相同内容。带附件的电子邮件发送为我工作,但附件是空的。
我正在尝试下面的代码来做同样的事情 -
using (var ms = new System.IO.MemoryStream())
{
using (var writer = new System.IO.StreamWriter(ms))
{
StringBuilder sb = new StringBuilder();
sb.Append("Filte start here");
sb.AppendFormat("<test>{0}</test>", test);
sb.Append("File end here");
writer.Write(sb.ToString());
writer.Flush();
System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Text.Plain);
System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(ms, ct);
attach.ContentDisposition.FileName = "temp.txt";
mail.Attachments.Add(attach);
try
{
SendEmailUtility.SendMail(mail);
}
catch (SmtpException e)
{
Console.WriteLine(e.ToString());
}
}
}
这不是Attach a file from MemoryStream to a MailMessage in C#帖子的重复,因为我也在做同样的事情,但在我的情况下发送空的附件。所以最终我的代码库中缺少一些东西。
请告诉我这里的错误。
任何帮助将不胜感激!