Пример #1
0
        public bool SendEmail(EmailDetails emailDetails, int type)
        {
            var message = new MimeMessage();

            message.To.Add(new MailboxAddress(emailDetails.To.Name, emailDetails.To.Address));
            message.From.Add(new MailboxAddress(
                                 "University of Cebu",
                                 "*****@*****.**"));

            message.Subject = "Welcome to University of Cebu!";

            string content = string.Empty;

            if (type == (int)Enums.EmailType.VERIFICATIONCODE)
            {
                content = _emailTemplates.VerificationCode;
            }
            else if (type == (int)Enums.EmailType.RESETPASSWORD)
            {
                content = _emailTemplates.ResetPassword;
            }
            else if (type == (int)Enums.EmailType.OFFICIALENROLLMENT)
            {
                content = _emailTemplates.OfficialEnrolled;
            }

            foreach (var spefics in emailDetails.SpecificInfo)
            {
                content         = content.Replace(spefics.Key, spefics.Value);
                message.Subject = message.Subject.Replace(spefics.Key, spefics.Value);
            }

            var bodyBuilder = GenerateBodyBuilder(content);

            message.Body = bodyBuilder.ToMessageBody();

            //Be careful that the SmtpClient class is the one from Mailkit not the framework!
            using (var emailClient = new SmtpClient())
            {
                //The last parameter here is to use SSL (Which you should!)
                emailClient.Connect(_emailConfiguration.SmtpServer, _emailConfiguration.SmtpPort, MailKit.Security.SecureSocketOptions.StartTls);

                //Remove any OAuth functionality as we won't be using it.
                emailClient.AuthenticationMechanisms.Remove("XOAUTH2");

                emailClient.Authenticate(_emailConfiguration.SmtpUsername, _emailConfiguration.SmtpPassword);

                emailClient.Send(message);

                emailClient.Disconnect(true);
            }

            return(true);
        }
Пример #2
0
        public bool SendResetPassword(EmailDetails emailDetails)
        {
            var message = new MimeMessage();

            message.To.Add(new MailboxAddress(emailDetails.To.Name, emailDetails.To.Address));
            message.From.Add(new MailboxAddress(
                                 "University of Cebu",
                                 "*****@*****.**"));

            message.Subject = "Welcome to University of Cebu!";

            var content = _emailTemplates.ResetPassword;

            foreach (var spefics in emailDetails.SpecificInfo)
            {
                content         = content.Replace(spefics.Key, spefics.Value);
                message.Subject = message.Subject.Replace(spefics.Key, spefics.Value);
            }

            var bodyBuilder = GenerateBodyBuilder(content);

            message.Body = bodyBuilder.ToMessageBody();

            //Be careful that the SmtpClient class is the one from Mailkit not the framework!
            using (var emailClient = new SmtpClient())
            {
                //The last parameter here is to use SSL (Which you should!)
                emailClient.Connect(_emailConfiguration.SmtpServer, _emailConfiguration.SmtpPort, MailKit.Security.SecureSocketOptions.StartTls);

                //Remove any OAuth functionality as we won't be using it.
                emailClient.AuthenticationMechanisms.Remove("XOAUTH2");

                emailClient.Authenticate(_emailConfiguration.SmtpUsername, _emailConfiguration.SmtpPassword);

                emailClient.Send(message);

                emailClient.Disconnect(true);
            }

            return(true);
        }