C#

Send emails via Office 365 using the Microsoft Graph API using HTTP/REST

I have been working a lot lately on existing and new application projects that require emails to be sent via Microsoft Office 365. Traditionally this would be done using the System.Net.Mail class library over the SMTP protocol. Something like this… I see an increasing amount of limitations with this approach. Here are some of those limitations: SMTP ports closed my endpoint security products SMTP ports blocked by border network equipment Microsoft frequently changing encryption and authentication requirements Public IP address, service account and credential issues In short, a simpler approach was required and Microsoft have provided this approach via the...

Continue reading...

Lets build a lightening fast REST API based on Azure Table Storage and C#

Hi All. I have had the pleasure of developing complex production web applications leveraging Azure Table storage and I wanted to contribute with a detailed end to end example. I am a massive fan of Azure Table storage. Not having to deal with Entity Framework or complex database schemas is an absolute joy and the speed of the Azure Table technology when interfacing through C# is excellent. Learn about the differences between SQL and No-SQL technologies and when its a good idea to use either here:- https://www.guru99.com/sql-vs-nosql.html. Here is a quick definition to get us started:- Azure Table storage is...

Continue reading...

Create a self-signed certificate with Bouncy Castle and C#

I battled to find a simple tutorial / sample code to create a self-signed certificate and then add that with the private key into the Windows computer store. So here is one to get you going. There is a great library maintained by the folks at Bouncy Castle. Check them out here. The entire specification can be found here. Here is a high level summary of what we are going to accomplish in the code sample below:- Note:- Bouncy Castle doesn’t care if you are Windows or whatever so it lacks the necessary interfaces to do things like install into...

Continue reading...