Skip to main content

Asp.Net C# Sending Email

This entry will describe how to send email using Asp.Net and C#. There will be a couple examples maybe jumbled together, but it will cover these topics:

1. Sending Text Email
2. Sending HTML Email
3. Sending Attatchments

First off, specify/import the library you need...

Using System.Net.Mail; (CodeBehind)
or <@ Import Namespace="System.Net.Mail" > (Inline)


Next create the mail object....

MailMessage mail = new MailMessage();

Then set the mail object fields... (Your usual... To, From, Subject, Body)

mail.From = new MailAddress("someone@gmail.com");
mail.To.Add("someone@gmail.com");
mail.Bcc.Add("someone@gmail.com");
mail.Subject = "The Subject Line";
mail.Body = "The Body String";

For HTML email setting a single field will do...

mail.IsBodyHtml = true;

If you want to add attatchments, do the following... the first argument is a stream and the second is a string for the filename.

mail.Attatchments.Add(new Attatchment(FileUpload.PostedFile.InputStream, "filename");

Now after all that, you have only created your email message. You still need to send it out. So...

SmtpClient client = new SmtpClient();
client.Send(mail);

That's it. That's all there is to sending Emails!

Comments

Popular posts from this blog

Parsing XML in .NET

Let's say you have XML as <root>    <item>       <name1>value1</name1>       <name2>value2</name2>       <name3>value3</name3>    </item>    <item>       <name1>value1</name1>       <name2>value2</name2>    </item> </root> To parse it we use the .NET XmlDocument class: // Create the XmlDocument object XmlDocument xmlDoc = new XmlDocument(); // Load the Xml into the object xmlDoc.Load(objResponse.GetResponseStream()); // Get the element like it was a path XmlNode errorNode = xmlDoc.SelectSingleNode("root/item/name1"); if (errorNode != null) { litResult.Text = errorNode.InnerText; return; }

Passing values from Javascript to Asp.Net

The trick to passing data from Javascript and Asp.Net is to use hidden inputs in the html. The hidden inputs should have the runat="server" attribute. For example: <input type="hidden" runat="server" id="hiddenfield" value="" /> Then in the Javascript, whatever value you are trying to pull from Asp.Net, set the hidden field using: document.getElementById("hiddenfield").value = "whatever value you want to set" And in the Asp.net form, you can just access the hiddenfield by using its id. string x = hiddenfield.value.text Thats all there is to it. You might need to check the syntax of it first as this is just all from my head.

Duplicate Items in the File -> New menu.

It looks like a bug, but the CMS is trying to figure out what kind of models would apply to the folder in question. To resolve this issue. 1. Goto the problematic folder. 2. Goto View -> Properties -> Access 3. Click on the New Tab 3. Uncheck All 'New Dependency' That's it. That should resolve the problem.