Пример #1
0
        /// <summary>
        /// Envia un email a un usuario
        /// </summary>
        /// <param name="mailDto"></param>
        /// <param name="emailBody"></param>
        public static void SendEmail(SendEMailDto mailDto, EmailBodyEnum emailBody)
        {
            switch (emailBody)
            {
            case EmailBodyEnum.confirmationEmail:
                mailDto.Body = TemplateHtml.GenerateTemplateConfirmation(mailDto.Body);
                break;

            case EmailBodyEnum.recoverPassEmail:
                mailDto.Body = TemplateHtml.GenerateTemplateRecoverPass(mailDto.Body);
                break;

            default:
                break;
            }
            MailMessage mailMessage = new MailMessage(mailDto.EmailFrom, mailDto.EmailTo, mailDto.Subject, mailDto.Body)
            {
                IsBodyHtml = true
            };

            SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);

            smtpClient.UseDefaultCredentials = false;
            smtpClient.Credentials           = new NetworkCredential(mailDto.EmailFrom, mailDto.PasswordFrom);
            smtpClient.EnableSsl             = true;
            smtpClient.Send(mailMessage);
            smtpClient.Dispose();
        }
        /// <summary>
        /// Obtiene los datos del usuario creado y manda un email
        /// </summary>
        /// <param name="user"></param>
        /// <param name="emailBody"></param>
        /// <param name="path"></param>
        private void SendSecuriyEmail(Users user, EmailBodyEnum emailBody, ActionProcessUserEnum actionProcess)
        {
            string linkConfirmation = $"{configuration["Addresses:Domain"]}api/User/account/" +
                                      $"confirmemail/{user.UserName}/{WebUtility.UrlEncode(user.TokenConfirmation)}/{(int)actionProcess}";
            SendEMailDto mailDto = new SendEMailDto()
            {
                Body         = linkConfirmation,
                EmailFrom    = configuration["MailCredentials:Email"],
                PasswordFrom = configuration["MailCredentials:Password"],
                EmailTo      = user.Email,
                Subject      = "Confirm email to login"
            };

            MessageSender.SendEmail(mailDto, emailBody);
        }