{
    "version": "https://jsonfeed.org/version/1",
    "title": "Blazor Experiments",
    "description": "",
    "home_page_url": "https://blazorcode.uk/codecheck",
    "feed_url": "https://blazorcode.uk/codecheck/feed.json",
    "user_comment": "",
    "author": {
        "name": "CJB"
    },
    "items": [
        {
            "id": "https://blazorcode.uk/codecheck/code-check.html",
            "url": "https://blazorcode.uk/codecheck/code-check.html",
            "title": "Code Check",
            "summary": "Create a Test Page Before attempting to send emails automatically, we will test the basic email setup using a separate page, with hard-coded credentials. using MailKit.Net.Smtp; using MailKit.Security; using Microsoft.Extensions.Configuration; using MimeKit; using MimeKit.Text; using System; namespace BlazorBirthdayReminders.Data; public interface IEmailService { bool Send(string to,&hellip;",
            "content_html": "\n    <h2 id=\"create-a-test-page\">\n      Create a Test Page\n    </h2>\n\n  <p>\n    Before attempting to send emails automatically, we will test the basic email setup using a separate page, with hard-coded credentials.\n  </p>\n<pre class=\"line-numbers  language-csharp\"><code>using MailKit.Net.Smtp;\nusing MailKit.Security;\nusing Microsoft.Extensions.Configuration;\nusing MimeKit;\nusing MimeKit.Text;\nusing System;\n\n\nnamespace BlazorBirthdayReminders.Data;\n\n    public interface IEmailService\n    {\n        bool Send(string to, string subject, string body);\n    }\n\n    public class EmailService : IEmailService\n    {\n        private readonly IConfiguration configuration;\n\n        public EmailService(IConfiguration Configuration)\n        {\n            configuration = Configuration;\n        }\n\n        public bool Send(string to, string subject, string body)\n        {\n            //Get settings from appsettings\n            var SmtpHost = configuration[\"SmtpHost\"];\n            var SmtpPort = configuration[\"SmtpPort\"];\n            var SmtpUserFriendlyName = configuration[\"SmtpUserFriendlyName\"];\n            var SmtpUserEmailAddress = configuration[\"SmtpUserEmailAddress\"];\n            var SmtpPass = configuration[\"SmtpPass\"];\n            // create message\n            var email = new MimeMessage();\n            email.From.Add(new MailboxAddress(SmtpUserFriendlyName, SmtpUserEmailAddress));\n            email.To.Add(new MailboxAddress(to, to));\n            email.Subject = subject;\n            email.Body = new TextPart(TextFormat.Html) { Text = body };\n\n            try\n            {\n                // send email\n                using var smtp = new SmtpClient();\n\n                smtp.Connect(SmtpHost, Int32.Parse(SmtpPort), SecureSocketOptions.StartTls);\n                smtp.Authenticate(SmtpUserEmailAddress, SmtpPass);\n                smtp.Send(email);\n                smtp.Disconnect(true);\n\n                return true;\n            }\n            catch\n            {\n                return false;\n            }\n\n        }\n    }\n\n\n\n</code></pre>",
            "author": {
                "name": "CJB"
            },
            "tags": [
            ],
            "date_published": "2022-03-20T11:30:16+00:00",
            "date_modified": "2022-03-22T11:14:22+00:00"
        }
    ]
}
