コード例 #1
0
        public override async Task Run()
        {
            var fromAddress = _configRepository.Get("OutboundFromAddress");

            var emailAddressField = GetControl <TextSource>("EmailAddress");
            var emailSubjectField = GetControl <TextSource>("EmailSubject");
            var emailBodyField    = GetControl <TextSource>("EmailBody");

            var emailAddress = emailAddressField.TextValue;
            var emailSubject = emailSubjectField.TextValue;
            var emailBody    = emailBodyField.TextValue;

            var userData = await HubCommunicator.GetCurrentUser();

            var footerMessage = string.Format("<hr> <p> This email was generated by The Fr8 Company as part of the processing of Fr8 Container {0} on behalf of Fr8 User {1}." +
                                              "For questions about Fr8, go to fr8.co </p>", ExecutionContext.ContainerId, userData.FirstName + " " + userData.LastName);

            var mailerDO = new TerminalMailerDO()
            {
                Email = new EmailDTO()
                {
                    From = new EmailAddressDTO
                    {
                        Address = fromAddress,
                        Name    = "Fr8 Operations"
                    },

                    Recipients = new List <RecipientDTO>()
                    {
                        new RecipientDTO()
                        {
                            EmailAddress         = new EmailAddressDTO(emailAddress),
                            EmailParticipantType = EmailParticipantType.To
                        }
                    },
                    Subject  = emailSubject,
                    HTMLText = CreateEmailHTMLText(emailBody)
                },
                Footer = footerMessage,
            };

            await _emailPackager.Send(mailerDO);

            Success();
        }