static void Main(string[] args) { var MailDataRepositories = new MailDataRepositories(); var EmailSendService = new EmailSendService(); var factoryServicecs = new FactoryServicecs(MailDataRepositories, EmailSendService); var executionTime = new TimeSpan(0, 0, 0); var firstAttemptOfDay = true; while (true) { if (DateTime.Now.TimeOfDay.Hours == executionTime.Hours && DateTime.Now.TimeOfDay.Minutes == executionTime.Minutes) { if (firstAttemptOfDay) { firstAttemptOfDay = false; factoryServicecs.GetService(ServiceType.ReminderMailSend).Execute(null); factoryServicecs.GetService(ServiceType.PrimaryMailSend).Execute(null); } } else { firstAttemptOfDay = true; } } }
public void SendEmails(EmailSendService emailSender, ObservableCollection <ILetter> letters) { this.letters = letters; this.emailSender = emailSender; timer.Tick += TimerTickLetter; timer.Interval = new TimeSpan(0, 0, 1); timer.Start(); }
public void SendEmails(EmailSendService emailSendService, List <string> emails) { this.emailSendService = emailSendService; this.emails = emails; timer.Tick += Timer_Tick; timer.Interval = new TimeSpan(0, 0, 1); timer.Start(); }
/// <summary> /// передача данных в класс, отвечающий за отправку почты /// </summary> void EmailSenderCreate(SecureString password) { emailSender = new EmailSendService(Login, password); emailSender.MessageBeforeSendMail += msg => MessageBox.Show(msg); //подписка на вывод сообщения непосредственно перед отправкой писем emailSender.MessageMailSend += msg => MessageBox.Show(msg); //подписка на вывод сообщений после отправки писем emailSender.SmtpServer = SmtpServer; emailSender.SmtpPort = (from f in SmtpServersCol where f.Server == SmtpServer select f.Port).ToList <int>()[0]; }
/// <summary> /// Отправка писем адресатам /// </summary> /// <param name="dtSend">Дата отправки</param> /// <param name="emailSender">Адрес отправителя</param> /// <param name="emails">Список получателей</param> /// <param name="subject">Тема письма</param> /// <param name="textRange">Содержание письма</param> public void SendEmails(DateTime dtSend, EmailSendService emailSender, ObservableCollection <Email> emails, string subject, string textRange) { this.emailSender = emailSender; this.dtSend = dtSend; this.emails = emails; text = textRange; this.subject = subject; timer.Tick += Timer_Tick; timer.Interval = new TimeSpan(0, 0, 1); timer.Start(); }
/// <summary> /// передача данных в класс, отвечающий за отправку почты /// </summary> void EmailSenderCreate(object obj) { var passwordBox = obj as PasswordBox; var password = passwordBox.Password; _emailSender = new EmailSendService(Login, password); _emailSender.MessageBeforeSendMail += MessageBoxShow; _emailSender.MessageMailSend += MessageBoxShow; _emailSender.SmtpServer = SmtpServer; _emailSender.SmtpPort = (from f in SmtpServersCol where f.Server == SmtpServer select f.Port).ToList <int>()[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"); } }
private void BtnSchedule_Click(object sender, RoutedEventArgs e) { //Scheduler sched = new Scheduler(cbSenderSelect.Text, new Dictionary<DateTime, string>()); item = (KeyValuePair <string, int>)cbSmtpSelect.SelectionBoxItem; Scheduler sched = new Scheduler(); for (int i = 1; i < plannerListView.Items.Count; i++) { var item = plannerListView.Items[i]; lvItem = item as ListViewItemScheduler; sched.DatesEmailDic.Add(lvItem.timePickerValue.Value, lvItem.Text); } EmailSendService emailSender = new EmailSendService(cbSenderSelect.Text, cbSenderSelect.SelectedValue.ToString(), item.Key, item.Value, ContentFromRTB(rtb)); var locator = (ViewModelLocator)FindResource("Locator"); List <string> emails = new List <string>(); foreach (Email email in locator.Main.Emails) { emails.Add(email.EmailCol); } sched.SendEmails(emailSender, emails); }
public MailViewController() { MailDataRepositories = new MailDataRepositories(); EmailSendService = new EmailSendService(); FactoryServicecs = new FactoryServicecs(MailDataRepositories, EmailSendService); }