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

Checking / Creating New Folders from an SMTP Import

To check if a folder exists in the CMS already you have to create a folder list. There is no direct commands to do this. dim folderExists folderExists = false set folderlist = asset.getFolderList("/path/") 'loop through folder list do while folderlist.nextEntry() if folderlist.item("_cmsLabel") = "foldername" folderExists = true exit do end if loop To create a folder in the CMS, first make a Model that only contains a folder. Then do the following: if folderExists = false then 'create folder set dict = system.createDictionary() fId = asset.create(folderName, "/Site/Global/Picture of the Week/", "/System/Models/Directory Builder", dict) end if The parameters for the asset.create("label", "Path", "Model to use", content or dictionary)

Questions about Outages

Routine CMS maintentance windows are from 6pm - 7pm, every Monday and Wednesday. Generally, the system is still available during these times, but may be unavailable for a few minutes during that period. There are other times where maintenance must be performed outside these windows due to unforeseen circumstances. We aim to provide as much notice as possible for these events, typically via email and via an alert on the login page. The routine maintenance is also mentioned on the login page on the day of maintenance.

Making references to Assets work even if the Asset has not been published yet

In the CMS, from within the current asset if you have a link to another asset and the other asset has not been published yet. The current asset will have the link disabled when published. In some cases even content will not be displayed as well. To prevent this from happening you can use this trick: asset.setPram "filter_status", "*" href = asset.getLink("path or id") Now the href will be enabled regardless of whether the asset being reffered to has been published or not.