public MailClientTimer(AlarmMail alarmMail) { this.alarmMail = alarmMail; timer = new Timer(); timer.Interval = alarmMail.Delaytime * 1000; timer.Elapsed += Timer_Elapsed; }
public async void SendMailAsync(AlarmMail _alarm) { if (Client == null) { Client = new SmtpClient(MailServerName); } try { List <User> recipients = GetMailRecipients(_alarm); if (recipients.Count > 0) { var toWho = from recipient in recipients select recipient.Email; await SendMailAsync(toWho.ToList(), _alarm.EmailText, _alarm.EMailSubject); Log.Instance.Info("{0}: '{1}' adlı alarm '{2}' nolu e-posta grubundaki kullanıcalara iletildi.", this.GetType().Name, _alarm.Name, _alarm.MailGroupName); } else { Log.Instance.Warn("{0}: Veritabanında alıcı bulunamadığı için {1} adlı alarm iletilemedi.", this.GetType().Name, _alarm.Name); } } catch (Exception ex) { Log.Instance.Error("{0}: {1} adlı alarm ilgili kullanıcalara iletilemedi => {2}", this.GetType().Name, _alarm.Name, ex.Message); throw; } }
public void SendMail(AlarmMail _alarm) { client = new MailKit.Net.Smtp.SmtpClient(); List <User> recipients = GetMailRecipients(_alarm); if (recipients.Count > 0) { var message = new MimeMessage(); foreach (User recipient in recipients) { message.To.Add(new MailboxAddress(recipient.Name + " " + recipient.Surname, recipient.Email)); } message.From.Add(new MailboxAddress(Constants.MessageBoxHeader, UserName)); message.Subject = _alarm.EMailSubject; message.Body = new TextPart("plain") { Text = @_alarm.EmailText }; if (ConnectToMailServer()) { client.Send(message); Log.Instance.Info("{0}: {1} adlı alarm {2} grubundaki tüm kullanıcılara gönderildi.", this.GetType().Name, _alarm.Name, _alarm.MailGroupName); client.Disconnect(true); } else { Log.Instance.Error("{0} isimli alarm mail server'a bağlanılamadı için gönderilemedi", _alarm.Name); } } }
public frm_AddNewOrUpdateMailAlarm(AlarmMail _alarmMail) { InitializeComponent(); formType = FormType.UpdateExistingSignal; alarmMail = _alarmMail; cursorPos = 0; txt_AlarmLogic.SelectionLength = 1; }
private AlarmMail GetFormValues(AlarmMail am) { am.Name = txt_AlarmName.Text; am.EMailSubject = txt_EMailSubject.Text.Replace("'", "$"); am.EmailText = txt_EmailMessage.Text.Replace("'", "$"); am.LogicText = txt_AlarmLogic.Text.Replace("'", "$");; am.MailGroupID = ((MailGroup)cb_MailGroups.SelectedItem).ID; am.Delaytime = uint.Parse(txt_Second.Text); return(am); }
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member 'frm_AddNewOrUpdateMailAlarm.UpdateExistingAlarmButtonClicked' private void OnAddNewAlarmButtonClicked(AlarmMail am) { MailAlarmEventArgs args = new MailAlarmEventArgs(); args.alarmMail = am; if (AddNewAlarmButtonClicked != null) { AddNewAlarmButtonClicked(this, args); } }
private void OnUpdateExistingAlarmButtonClicked(AlarmMail am) { MailAlarmEventArgs args = new MailAlarmEventArgs(); args.alarmMail = am; if (UpdateExistingAlarmButtonClicked != null) { UpdateExistingAlarmButtonClicked(this, args); } }
private void dgv_MailAlarms_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { AlarmMail am = new AlarmMail(); am.ID = uint.Parse(dgv_MailAlarms.SelectedRows[0].Cells["id"].Value.ToString()); am.Name = dgv_MailAlarms.SelectedRows[0].Cells["Alarm Adı"].Value.ToString(); am.EMailSubject = dgv_MailAlarms.SelectedRows[0].Cells["E-Mail Konu"].Value.ToString(); am.EmailText = dgv_MailAlarms.SelectedRows[0].Cells["Mesaj"].Value.ToString(); am.LogicText = dgv_MailAlarms.SelectedRows[0].Cells["Alarm Lojiği"].Value.ToString(); am.MailGroupName = dgv_MailAlarms.SelectedRows[0].Cells["E-Posta Grubu"].Value.ToString(); frm_addNewOrUpdateMailAlarm = new frm_AddNewOrUpdateMailAlarm(am); frm_addNewOrUpdateMailAlarm.UpdateExistingAlarmButtonClicked += tab_EmailSettings_UpdateExistingAlarmButtonClicked; frm_addNewOrUpdateMailAlarm.ShowDialog(); }
private void btn_AddNewOrUpdateAlarm_Click(object sender, EventArgs e) { ExprValidator validator = new ExpressionValidatorLib.ExprValidator(); uint second; try { TrimAllInputFields(); if (txt_AlarmName.Text == string.Empty) { MessageBox.Show("Alarm adı boş bırakılamaz.", Constants.MessageBoxHeader, MessageBoxButtons.OK, MessageBoxIcon.Warning); txt_AlarmName.Focus(); return; } else if (txt_AlarmLogic.Text == string.Empty) { MessageBox.Show("Alarm için bir koşul yazınız.", Constants.MessageBoxHeader, MessageBoxButtons.OK, MessageBoxIcon.Warning); txt_AlarmLogic.Focus(); return; } else if (txt_EMailSubject.Text == string.Empty) { MessageBox.Show("E-Posta başlığı boş bırakılamaz.", Constants.MessageBoxHeader, MessageBoxButtons.OK, MessageBoxIcon.Warning); txt_EMailSubject.Focus(); return; } else if (txt_EmailMessage.Text == string.Empty) { MessageBox.Show("E-Posta mesajı boş bırakılamaz.", Constants.MessageBoxHeader, MessageBoxButtons.OK, MessageBoxIcon.Warning); txt_EmailMessage.Focus(); return; } else if (txt_Second.Text == string.Empty) { MessageBox.Show("Alarm gecikme boş bırakılamaz.\nAlarm'ın çalışmasında gecikme süresi olmasını istemiyorsanız 0 giriniz.", Constants.MessageBoxHeader, MessageBoxButtons.OK, MessageBoxIcon.Warning); txt_EmailMessage.Focus(); return; } else if (!(uint.TryParse(txt_Second.Text, out second))) { MessageBox.Show("Alarm gecikme süresi için sadece sayı giriniz.", Constants.MessageBoxHeader, MessageBoxButtons.OK, MessageBoxIcon.Warning); txt_EmailMessage.Focus(); return; } else if (cb_MailGroups.SelectedItem == null) { MessageBox.Show("E-Posta grubu seçiniz.", Constants.MessageBoxHeader, MessageBoxButtons.OK, MessageBoxIcon.Warning); cb_MailGroups.Focus(); bool denme = validator.Validate(txt_AlarmLogic.Text); return; } else if (!validator.Validate(txt_AlarmLogic.Text)) { MessageBox.Show(string.Format("Alarm lojiğinde hata! \nAlarm lojiğini kontrol ediniz. \n{0}", validator.Message()), Constants.MessageBoxHeader, MessageBoxButtons.OK, MessageBoxIcon.Warning); txt_AlarmLogic.Focus(); return; } else { bool isVariableNamesValidated = ValidateVariableNamesAtLogic(); if (isVariableNamesValidated) { if (formType == FormType.AddNewSignal) { AlarmMail am = new AlarmMail(); GetFormValues(am); OnAddNewAlarmButtonClicked(am); } else if (formType == FormType.UpdateExistingSignal) { GetFormValues(alarmMail); OnUpdateExistingAlarmButtonClicked(alarmMail); } Close_frm_selectVariable(); } else { } } } catch (Exception) { throw; } }
private List <User> GetMailRecipients(AlarmMail _alarm) { return(DBHelper_MailClient.GetMailRecipients(_alarm.MailGroupID)); }