Send Email with Attachment in C#

In previous section, I introduced how to send HTML email in C#. In this section, I will introduce how to send email with attachment in C#.


To send an email with file attachment, we need to use AddAttachment method. This method can attach a file to the email message from local disk or a remote URL.


Remarks: All of samples in this section are based on first section: Send email in a simple C# project. To compile and run the following example codes successfully, please click here to learn how to create the test project and add reference of EASendMail to your project.

[C# - Send Email with Attachment - Example]

The following example codes demonstrate how to send email with attachment in C#.


To get the full sample projects, please refer to Samples section.

using System;
using System.Collections.Generic;
using System.Text;
using EASendMail; //add EASendMail namespace
namespace mysendemail
    class Program
        static void Main(string[] args)
            SmtpMail oMail = new SmtpMail("TryIt");
            SmtpClient oSmtp = new SmtpClient();

            // Set sender email address, please change it to yours
            oMail.From = "";

            // Set recipient email address, please change it to yours
            oMail.To = "";

            // Set email subject
            oMail.Subject = "test html email with attachment";

            // Set Html body
            oMail.HtmlBody = "<font size=\"5\">This is</font> <font color=\"red\"><b>a test</b></font>";

            // Your SMTP server address
            SmtpServer oServer = new SmtpServer("");

            // User and password for ESMTP authentication, if your server doesn't require
            // User authentication, please remove the following codes.
            oServer.User = "";
            oServer.Password = "testpassword";

            // If your smtp server requires SSL connection, please add this line
            // oServer.ConnectType = SmtpConnectType.ConnectSSLAuto;
                // Add attachment from local disk
                oMail.AddAttachment( "d:\\test.pdf" );

                // Add attachment from remote website
                oMail.AddAttachment( "" );
                Console.WriteLine("start to send email with attachment ...");
                oSmtp.SendMail(oServer, oMail);
                Console.WriteLine("email was sent successfully!");
            catch (Exception ep)
                Console.WriteLine("failed to send email with the following error:");

Next Section

At next section I will introduce how to add embedded images/pictures to email message.



If you have any comments or questions about above example codes, please click here to add your comments.