Skip to content

Work in progress. Scalable, personalized email delivery for .NET Core apps. Sort of like MailChimp, but service queries your recipients and content instead of storing it

Notifications You must be signed in to change notification settings

adamfoneil/CoreNotify

Repository files navigation

CoreNotify is a service for sending scheduled and on-demand email notifications from .NET Core applications. Emails are built from HTML views, so your notifications are as personalized and detailed as necessary, yet as easy to make as any other HTML content in your application. You focus on your email content and recipients, while CoreNotify handles the scheduling and delivery. You must provide a SendGrid API key.

Here's a PowerPoint walkthrough.

How it Would Work

  • You create an account at corenotify.dev and note the AuthorizationKey you receive. This will go in your application configuration. You must also provide a SendGridApiKey. There will also be a CLI for this.
  • In your application, add forthcoming NuGet package CoreNotify.Client. Create MVC views or Razor pages that you want to send as email. The views you create will become the content of email messages. See sample controller and sample app startup. This show how to secure your endpoints for use by CoreNotify.
  • Create Json endpoints that return a list of recipients for each email. Each recipient implements ISendRequest. CoreNotify can send emails one at a time to specific recipients, but it becomes more powerful when you send in bulk on a schedule.
  • At corenotify.dev, create a Notification for each kind of email you want to send. You specify, among other things, the Cronjob Schedule along with the Content and Recipient endpoints. See Notification model.
  • When you create Notifications with a schedule, CoreNotify's backend cronjob functionality (powered by SetCronJob and managed through another API integration SetCronJob.ApiClient) executes your endpoints, building and sending your emails.

About the Repo

There are some secrets not in source control that you must provide if you're cloning and running this. You'll need to use the Manage Secrets feature.

Also, you'll need to create a blank database manually, but then use ModelSync to create the tables from the CoreNotify.Database assembly.

About

Work in progress. Scalable, personalized email delivery for .NET Core apps. Sort of like MailChimp, but service queries your recipients and content instead of storing it

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published