コード例 #1
0
        public async Task <IActionResult> Email(EmailParameters parameters)
        {
            parameters.Subject   = "test";
            parameters.Body      = "my email";
            parameters.ToAddress = "*****@*****.**";

            var email = new EmailMessage();

            email.ToAddresses.Add(new EmailAddress(parameters.ToName, parameters.ToAddress));
            //email.Subject = parameters.Subject; //for demo force a Template to reduce spam
            //email.Body = parameters.Body;

            if (string.IsNullOrEmpty(parameters.TemplateName))
            {
                parameters.TemplateName = "Test";
            }

            switch (parameters.TemplateName)
            {
            case "Test":
                email = EmailTemplates.BuildTestEmail(email, parameters.ToName); //example of email Template usage
                break;

            default:
                break;
            }

            email.FromAddresses.Add(new EmailAddress("*****@*****.**", "*****@*****.**"));
            _logger.LogInformation("Test Email: {0}", email.Subject);

            await _emailService.SendEmailAsync(email);

            return(Ok(new { success = "true" }));
        }
コード例 #2
0
        public async Task <ApiResponse> Send(EmailDto parameters)
        {
            if (!ModelState.IsValid)
            {
                return(new ApiResponse(400, "User Model is Invalid"));
            }

            var email = new EmailMessageDto();

            email.ToAddresses.Add(new EmailAddressDto(parameters.ToName, parameters.ToAddress));

            //This forces all emails from the API to use the Test template to prevent spam
            parameters.TemplateName = "Test";

            //Send a Template email or a custom one since it is hardcoded to Test template it will not do a custom email.
            if (!string.IsNullOrEmpty(parameters.TemplateName))
            {
                switch (parameters.TemplateName)
                {
                case "Test":
                    email = EmailTemplates.BuildTestEmail(email);     //example of email Template usage
                    break;

                default:
                    break;
                }
            }
            else
            {
                email.Subject = parameters.Subject;
                email.Body    = parameters.Body;
            }

            //Add a new From Address if you so choose, default is set in appsettings.json
            //email.FromAddresses.Add(new EmailAddress("New From Name", "*****@*****.**"));
            _logger.LogInformation("Test Email: {0}", email.Subject);
            try
            {
                await _emailService.SendEmailAsync(email);

                return(new ApiResponse(200, "Email Successfuly Sent"));
            }
            catch (Exception ex)
            {
                return(new ApiResponse(500, ex.Message));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Send(EmailParameters parameters)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values.SelectMany(state => state.Errors)
                                  .Select(error => error.ErrorMessage)
                                  .FirstOrDefault()));
            }

            var email = new EmailMessage();

            email.ToAddresses.Add(new EmailAddress(parameters.ToName, parameters.ToAddress));

            //This forces all emails from the API to use the Test template to prevent spam
            parameters.TemplateName = "Test";

            //Send a Template email or a custom one since it is hardcoded to Test template it will not do a custom email.
            if (!string.IsNullOrEmpty(parameters.TemplateName))
            {
                switch (parameters.TemplateName)
                {
                case "Test":
                    email = EmailTemplates.BuildTestEmail(email);     //example of email Template usage
                    break;

                default:
                    break;
                }
            }
            else
            {
                email.Subject = parameters.Subject;
                email.Body    = parameters.Body;
            }

            //Add a new From Address if you so choose, default is set in appsettings.json
            //email.FromAddresses.Add(new EmailAddress("New From Name", "*****@*****.**"));
            _logger.LogInformation("Test Email: {0}", email.Subject);

            await _emailService.SendEmailAsync(email);

            return(Ok(new { success = "true" }));
        }