private static void MakeAndSendEmail(AvisoMailData data) { MailMessage message = MakeMessage(data); Console.WriteLine($"Enviando e-mail com aconselhamento para {data.TargetEmail}..."); SendEmail(data, message); }
private static AvisoMailData MakeEmailData(AvisosContext avisosContext, IConfigurationRoot configuration, Asset asset) { var smtpConfig = configuration.GetSection("smtpConfig").Get <SmtpConfig>(); string targetEmail = configuration["targetEmail"]; var mailData = new AvisoMailData(avisosContext, asset, targetEmail, smtpConfig); return(mailData); }
private static void TryToSendEmail(AvisosContext avisosContext, IConfigurationRoot configuration, Asset asset) { if (HasToSendEMail(avisosContext, asset)) { AvisoMailData mailData = MakeEmailData(avisosContext, configuration, asset); MakeAndSendEmail(mailData); } }
private static MailMessage MakeMessage(AvisoMailData data) { MailMessage message = new MailMessage(data.SmtpConfig.Sender, data.TargetEmail); if (data.Asset.Price < data.BuyPrice) { SetBuyMessage(data, message); } else if (data.Asset.Price > data.SellPrice) { SetSellMessage(data, message); } return(message); }
private static void SendEmail(AvisoMailData data, MailMessage message) { SmtpClient smtpClient = new SmtpClient(data.SmtpConfig.Server, data.SmtpConfig.Port); smtpClient.EnableSsl = true; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new System.Net.NetworkCredential(data.SmtpConfig.Username, data.SmtpConfig.Password); try { smtpClient.Send(message); } catch (Exception ex) { Console.WriteLine("Erro ao enviar e-mail.", ex.ToString()); } }
private static void SetSellMessage(AvisoMailData data, MailMessage message) { message.Subject = "Aconselhamento de Venda de Ativo"; message.Body = $"O ativo {data.AssetName} está com um preço de R${data.Asset.Price}. Você definiu que um bom preço para venda desse ativo é de R${data.SellPrice}, portanto é aconselhável que você o venda."; }