Exemple #1
0
        private void SendWelcomeMail(string language, TrexCustomer trexCustomer)
        {
            var welcomeMailComposer = new WelcomeMailComposer(language);

            welcomeMailComposer.Recipients.Add(trexCustomer.CreatorEmail);
            welcomeMailComposer.Sender = _appSettings.TrexSupportEmail;
            _emailService.SendEmail(welcomeMailComposer);
        }
Exemple #2
0
        private static async Task SendMailAsync()
        {
            IMailComposer welcomeMailComposer  = new WelcomeMailComposer();
            IMailComposer comebackMailComposer = new ComebackMailComposer("EOComebackToUs");

            List <Task <IEnumerable <IMailMessageInfo> > > tasks = new List <Task <IEnumerable <IMailMessageInfo> > >();

            tasks.Add(welcomeMailComposer.ComposeAsync());
#if DEBUG
            //Debug mode, always send Comeback mail
            tasks.Add(comebackMailComposer.ComposeAsync());
#else
            //Every Sunday run Comeback mail
            if (DateTime.Now.DayOfWeek.Equals(DayOfWeek.Monday))
            {
                tasks.Add(comebackMailComposer.ComposeAsync());
            }
#endif
            await Task.WhenAll(tasks.ToArray());

            using (IMailService mailService = new MailService("smtp.Org.com", 25))
            {
                List <IMailMessageInfo> messagesToSend = new List <IMailMessageInfo>();
                foreach (var task in tasks)
                {
                    messagesToSend.AddRange(task.Result);
                }
                var   mailSendingTask = mailService.SendBulkEmailAsync(messagesToSend);
                await mailSendingTask;

                //Check if the sending went OK
                if (mailSendingTask.Result)
                {
                    Console.WriteLine("All mails are sent, I hope...");
                }
                else
                {
                    Console.WriteLine("Oops, something went wrong when sending mail (I think...)");
                }
            }
        }