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); } }
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); }