You can send email from C# using MailMessage class and also send attachments in the email. In this example i have provided one folder and will add all files in that folder as attachments to the email.
You can also check "Send Email using Gmail from C#" and "Send Email by requesting delivery/read receipt from C#"

Please find below C# source code, that shows how to send email with attachments from C# using SMTP server.
I have created sample windows application and added button = btnSendEmailWithAttachment, in this button click event the below code added.
using System;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Windows.Forms;

namespace SampleWindowsApp
    /// <summary>
    /// Send Email Form 
    /// </summary>
    /// <seealso cref="System.Windows.Forms.Form" />
    public partial class SendEmailForm : Form
        /// <summary>
        /// Initializes a new instance of the <see cref="SendEmailForm"/> class.
        /// </summary>
        public SendEmailForm()

        /// <summary>
        /// Handles the Click event of the btnSendEmailWithAttachment control.
                         /// Author = Himasagar Kutikuppala
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void btnSendEmailWithAttachment_Click(object sender, EventArgs e)
                //Create the object of MailMessage
                MailMessage mailMessage = new MailMessage();
                mailMessage.From = new MailAddress("", "FromDisplayName"); //From Email Id & Display name
                mailMessage.Subject = "Test Email"; //Subject of Email
                mailMessage.Body = "This is the test email body text"; //body or message of Email
                mailMessage.IsBodyHtml = true;
                mailMessage.Priority = MailPriority.High; //if you want to send High importance email
                //You can add either multiple To,CC,BCC or single emails
                mailMessage.To.Add(new MailAddress(";;;")); //adding multiple TO Email Id
                mailMessage.CC.Add(new MailAddress(";;;")); //Adding Multiple CC email Id
                mailMessage.Bcc.Add(new MailAddress(";;;")); //Adding Multiple BCC email Id

                //Add Attachments, here i gave one folder name, and it will add all files in that folder as attachments, Or if you want only one file also can add
                string attachmentsPath = @"C:\Himasagar";
                if (Directory.Exists(attachmentsPath))
                    string[] files = Directory.GetFiles(attachmentsPath);
                    foreach (string fileName in files)
                        Attachment file = new Attachment(fileName);

                //Assign the SMTP address and port
                SmtpClient smtp = new SmtpClient();
                smtp.Host = "";
                smtp.Port = 25;
                smtp.EnableSsl = false; //If required make it true

                //Network and security related credentials
                NetworkCredential networkCredential = new NetworkCredential ();
                networkCredential.UserName = "user name (email id)";
                networkCredential.Password = "password";
                networkCredential.Domain = "Domain Name";

                smtp.Credentials = networkCredential;

                //Finally send Email
                MessageBox.Show("The email has been sent successfully.");
            catch (Exception ex)