Optimus Optimus - 1 month ago 7
C# Question

How to Send Email With Attachment In Asp.Net

I need to attach an image with my email in asp.net the file is already added in the solution explorer but I dont know how to add this with my email please guide me

My current code is given below

public void SendMail()
{
try
{
string receiverEmailId = "name@exmp.com";
string senderName = ConfigurationManager.AppSettings["From"].ToString();
string mailServer = ConfigurationManager.AppSettings["SMTPServer"].ToString(); ;
string senderEmailId = ConfigurationManager.AppSettings["SMTPUserName"].ToString();
string password = ConfigurationManager.AppSettings["SMTPPasssword"].ToString();
var fromAddress = new MailAddress(senderEmailId, senderName);
var toAddress = new MailAddress(receiverEmailId, "Alen");
string subject = "subject";
string body = "body.";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(fromAddress.Address, password)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
}
catch (Exception ex)
{
}
}

Answer Source

Did you check out MailMessage.Attachments property (see MSDN)?

// create attachment and set media Type
//      see http://msdn.microsoft.com/de-de/library/system.net.mime.mediatypenames.application.aspx
Attachment data = new Attachment(
                         "PATH_TO_YOUR_FILE", 
                         MediaTypeNames.Application.Octet);
// your path may look like Server.MapPath("~/file.ABC")
message.Attachments.Add(data);