Build file without storing to the hard drive then add it as attachment

How to make a file and place it as an attachment in an e-mail? My problem is how to build the CVS file. It would be great if it was possible to build it without saving anything to the hard drive.

This is how I send the e-mail.

    public void SendMail()
    {
        try
        {
            MailMessage mail2 = new MailMessage();
            mail2.To.Add("aahsdkjahsd@yahoo.com");
            mail2.From = new MailAddress(TxtEpost.Text, TxtEtternavnForrnavn.Text, System.Text.Encoding.UTF8);

            mail2.Subject = "Bestille katalog";
            mail2.SubjectEncoding = System.Text.Encoding.UTF8;

           
           
            Attachment atch = new Attachment("MyFile.CVS");
            mail2.Attachments.Add(atch);
           
            mail2.Body = "";

            mail2.BodyEncoding = System.Text.Encoding.UTF8;
            mail2.IsBodyHtml = false;
            mail2.Priority = MailPriority.High;
            //Add the Creddentials
            SmtpClient client2 = new SmtpClient();
            //For secure SMTP remove comments.....
            //client2.Credentials = new System.Net.NetworkCredential("jakslajsd@gmail.com", "password");
            //client2.Port = 587;//or use 587, 465
            client2.Host = "smtp.jaslkdj.com";
            //client2.EnableSsl = true;
            //client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
            client2.Send(mail);
        }
        catch (Exception ex)
        {
            //Label1.Text += ex.ToString();
        }
m-jansenAsked:
Who is Participating?
 
BBK_Commented:
There is no easy way to send attachment other than from a (any persistable medium)  disk. Normally when application need to send mail with attachments, the attachment will be created in windows temp folder ( So user will not have any permission issue) and add the file name to the attachment list
 You can use “Environment.GetEnvironmentVariable("TMP")” to get the temp folder of the user.
Save the CSV file there.
0
 
m-jansenAuthor Commented:
That sounds interesting. So if I create the attachment with a string and then use the content of this string to fill the csv file I can create a temporary file like a cookie on the hard drive with c# code?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.