using System.Diagnostics.CodeAnalysis; using InnovEnergy.App.Backend.DataTypes; using InnovEnergy.Lib.Mailer; using MimeKit; using JsonSerializer = System.Text.Json.JsonSerializer; namespace InnovEnergy.App.Backend.Email; public static class Email { [UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "")] public static Boolean SendVerificationMessage(User emailRecipientUser) { var config = JsonSerializer.Deserialize(File.OpenRead("./Resources/smtpConfig.json"))!; var mailer = new Mailer(); Mailer.From("InnovEnergy", "noreply@innov.energy"); Mailer.To(emailRecipientUser.Name, emailRecipientUser.Email); Mailer.Subject("Create a new password for your Innovenergy-Account"); Mailer.Body("Dear " + emailRecipientUser.Name + "\n Please create a new password for your Innovenergy-account." + "\n To do this just login at https://HEEEEELP"); return Mailer.SendEmailUsingSmtpConfig(config); } [UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "")] public static Boolean SendPasswordResetMessage (User emailRecipientUser, String token) { var config = JsonSerializer.Deserialize(File.OpenRead("./Resources/smtpConfig.json"))!; //todo am I right? const String resetLink = "https://monitor.innov.energy/api/ResetPassword"; try { Mailer.From("InnovEnergy", "noreply@innov.energy"); Mailer.To(emailRecipientUser.Name, emailRecipientUser.Email); Mailer.Subject("Reset the password of your Innovenergy-Account"); Mailer.Body("Dear " + emailRecipientUser.Name + "\n To reset your password open this link:" + resetLink + "?token=" + token); return Mailer.SendEmailUsingSmtpConfig(config); } catch (Exception) { return false; } } }