Esempio n. 1
0
        public async Task <bool> SendContactNotification(ContactRequest request)
        {
            var contactEmail = _config["AppSettings:ContactEmail"];
            var to           = new List <string> {
                contactEmail
            };

            var client = new TransactionalEmailClient(_config);

            await client.SendEmail(
                to,
                "Contact Form: " + request.subject,
                request.message,
                "",
                "Contact");

            return(true);
        }
        public async Task <bool> SendResetEmail(SendResetEmailRequest request)
        {
            var user = _context.Users
                       .FirstOrDefault(u => u.Email == request.email);

            if (user == null)
            {
                return(false);
            }

            //Generate token
            var reset = new ForgotPassword();

            reset.Email     = user.Email;
            reset.Token     = Guid.NewGuid().ToString("N");
            reset.CreatedAt = DateTime.Now;
            reset.UpdatedAt = DateTime.Now;

            //Persist changes to db
            _context.ForgotPasswords.Add(reset);
            _context.SaveChanges();

            //Send email
            var to = new List <string> {
                user.Email
            };
            var client = new TransactionalEmailClient(_config);

            await client.SendEmail(
                to,
                "A request to reset your password was initiated",
                "If it was you who requested to reset your password, click the link below to reset your password. If you did not request this change, then you can ignore this email.",
                "/recover/" + reset.Token,
                "Click Here to Reset Your Password");

            return(true);
        }