예제 #1
0
        private void Timer_Tick(object sender, EventArgs e)
        {
            //Console.WriteLine("Scheduled date = " + dicDates.Keys.First<DateTime>().ToShortTimeString());
            if (dicDates.Count == 0)
            {
                timer.Stop();
                MessageBox.Show("Emails have been sent");
            }
            else if (dicDates.Keys.First <DateTime>().ToShortTimeString() == DateTime.Now.ToShortTimeString())
            {
                emailSendService.StrBody    = dicDates[dicDates.Keys.First <DateTime>()];
                emailSendService.StrSubject = $"Distribution from {dicDates.Keys.First<DateTime>().ToShortTimeString()} ";
                emailSendService.SendEmails(emails);
                dicDates.Remove(dicDates.Keys.First <DateTime>());
            }

            #region old code
            //if (dtSend.ToShortTimeString() == DateTime.Now.ToShortTimeString())
            //{
            //    emailSendService.SendEmails(emails, mailFrom);
            //    timer.Stop();
            //    MessageBox.Show("Emais have been sent");
            //}
            #endregion
        }
예제 #2
0
        private void SendAtOnce_Click(object sender, RoutedEventArgs e)
        {
            item = (KeyValuePair <string, int>)cbSmtpSelect.SelectionBoxItem;

            string sSmtp       = item.Key;
            int    iPort       = item.Value;
            string strLogin    = cbSenderSelect.Text;
            string strPassword = cbSenderSelect.SelectedValue.ToString();

            if (string.IsNullOrEmpty(strLogin))
            {
                MessageBox.Show("Select sender's email address"); return;
            }
            if (string.IsNullOrEmpty(strPassword))
            {
                MessageBox.Show("Enter your password"); return;
            }
            try
            {
                if (!isRichTBEmpty(rtb))
                {
                    EmailSendService emailSender = new EmailSendService(strLogin, strPassword, sSmtp, iPort, ContentFromRTB(rtb));
                    var           locator        = (ViewModelLocator)FindResource("Locator");
                    List <string> emails         = new List <string>();
                    foreach (Email email in locator.Main.Emails)
                    {
                        emails.Add(email.EmailCol);
                    }
                    emailSender.SendEmails(emails);
                }
                else
                {
                    do
                    {
                        MessageBox.Show("Enter some content of the email");
                        tabControl.SelectedItem = EditorTab;
                    } while (!isRichTBEmpty(rtb));
                }
            }
            catch { MessageBox.Show("Something went wrong"); }
        }