Exemple #1
0
        public async Task <bool> Send(SendEmailClo opts, MailMessage message, string token = null)
        {
            var rc = false;

            using (var client = SmtpClientFunc(opts.Host, int.Parse(opts.Port)))
            {
                token = token ?? Guid.NewGuid().ToString();

                client.SendCompleted += (sender, e) =>
                {
                    if (e.Cancelled)
                    {
                        Logger.Info($"[{token}] Send canceled.");
                    }
                    if (e.Error != null)
                    {
                        Logger.Error(e.Error, $"[{token}]");
                    }
                    else
                    {
                        rc = true;
                        Logger.Info($"[{token}] Message sent.");
                    };
                };

                await client.SendMailAsync(message);

                return(rc);
            }
        }
Exemple #2
0
        public MailMessage Build(SendEmailClo opts, string body)
        {
            var rc = new MailMessage(opts.From, opts.To)
            {
                Body            = body,
                BodyEncoding    = Encoding.UTF8,
                IsBodyHtml      = true,
                Subject         = opts.Subject,
                SubjectEncoding = Encoding.UTF8
            };

            return(rc);
        }
        public string Build(SendEmailClo opts, TextReader alternate)
        {
            var rc = string.Empty;

            if (opts.Filename != null)
            {
                rc = File.ReadAllText(opts.Filename);
            }
            else
            {
                rc = alternate.ReadToEnd();
            }

            return(rc);
        }