It's our 2nd Birthday! 🎉
Everything 40% off with code BIRTHDAY2! (Excl. Team and VS Pro)
00
Days
00
Hrs
00
Min
00
Sec
Get 40% off anything!

From Zero to Hero: Sending Email with .NET

Learn everything you need to know to send production-grade emails in .NET

The world runs on email. Book a train ticket? Get an email. Buy something online? Get an order confirmation email. Forgotten your password? No problem - we’ll send you an email. But for developers, working with email can be a chaotic mix of incompatible clients, devices and standards. Dylan Beattie has been building applications that send mail since the 1990s; software that he’s designed and built has sent over a billion emails. In this course, Dylan will teach you everything you need to know to build, send and test email applications using .NET - from the underlying standards that control how internet email works, to libraries and packages like MailKit and MJML, to the architectural patterns you can use to send thousands of emails without slowing down the rest of your system.

Curriculum

Welcome (01:20)

What will you learn in this course? (02:09)

Who is the course for and prerequisites (01:47)

SmtpClient, MailKit and MimeKit (05:16)

What's an SMTP Server - and why do we need one (03:00)

Exploring SMTP with MailPit and telnet (05:57)

Sending Mail with MailKit and MailPit (03:16)

Multipart Messages with MimeKit BodyBuilder (01:47)

Attachments and Inline Images (04:02)

Introduction (01:03)

Scenario and Data Model (01:30)

Building Emails with StringBuilder (20:51)

StringBuilding HTML and Field Replacement (04:17)

Templating Engines Overview (05:34)

Comparing Razor Engines (11:08)

Razor.Templating.Core - Implementing IFileInfo and IFileProvider (15:27)

Templating HTML with Fluid (24:10)

Templating HTML with RazorEngine-NetCore (10:09)

Templating HTML with Razor Components (18:01)

Sending Test Mail with Mailpit (07:49)

Introducing Mailtrap (10:02)

HTML Email - What's The Problem (04:08)

Introducing MJML (15:20)

Running MJML with .NET (21:18)

Templating with MJML (23:49)

Introducing Rockaway (06:58)

Rendering Real World Emails (19:18)

Dynamic PDFs with QuestPDF (23:39)

Creating Data-Driven PDFs (15:57)

Sending Real Emails with MailKit (26:59)

Testing Email Services - Overview (06:19)

Testing Email Services - Deep Dive (41:33)

Review and Recap (01:13)

Email Delivery Considerations (01:32)

Email Address Validation (03:38)

Choosing an SMTP Server (05:04)

Email Domain Validation (04:20)

DNS for Email - SPF, DKIM and DMARC (18:32)

Sending Our First REAL Email (09:09)

Sending Mail Asynchronously with Channels and BackgroundServices (25:40)

Reusing the SMTP Connection (23:17)

Parallel Sending with BackgroundServices and SignalR (58:15)

Distributed Email with EasyNetQ - Overview and Architecture (06:00)

Distributed Email with EasyNetQ - Preparation and Refactoring (10:47)

Distributed Email with EasyNetQ - Implementation (40:56)

Conclusion (08:47)

Course Info

Level:
From Zero to Hero
Duration:
9h 41m
Rating (New):
star

Lifetime access

Add to Cart
Dometrain Pro

Want access to all of our courses? Subscribe to Dometrain Pro!

Try it for free!

About the Author

author_img

Dylan Beattie

Dylan Beattie is a consultant, software developer and international keynote speaker. He’s been building data-driven web applications since the 1990s; he’s managed teams, taught workshops, and worked on everything from tiny standalone websites to complex distributed systems. He’s a Microsoft MVP, and he regularly speaks at conferences and user groups all over the world.

Dylan is the creator of the Rockstar programming language, the director of Ursatile, and the founder of The Linebreakers, the world’s greatest tech comedy party rock band. He’s online at dylanbeattie.net and on Bluesky as @dylanbeatt.ie.

More courses by Dylan Beattie