动态创建.txt文件并将其附加到电子邮件中

时间:2017-09-06 13:36:35

标签: c# asp.net asp.net-mvc-4 email-attachments

我正在尝试动态创建.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#帖子的重复,因为我也在做同样的事情,但在我的情况下发送空的附件。所以最终我的代码库中缺少一些东西。

请告诉我这里的错误。

任何帮助将不胜感激!

0 个答案:

没有答案