Esempio n. 1
0
        public void SendMails(ObservableCollection <Common.Recipient> emails) //проходим по БД и вызываем SendMail
        {
            bool   flag   = true;                                             //ставлю дефолт истина т.к. априори прога должна отработать без проблем
            string except = string.Empty;

            foreach (Common.Recipient email in emails)
            {
                Task.Factory.StartNew(() => SendMail(email.Address, email.Name, ref flag, ref except));
                //адрес и нэйм для отправки писем,
                //флаг и строку для проверки как отработано
                //SendMail(email.Address, email.Name,ref flag, ref except); //мононопоточное выполнение
            }

            if (flag == true)//если все норм единожды выскочит окно что все гуд
            {
                View.SendEndWindow sendEnd = new View.SendEndWindow();
                sendEnd.ShowDialog();
            }
            else if (flag == false)//если не норм то обложит матами, но единожды xD
            {
                View.ErorrWindow erorrWindow = new View.ErorrWindow();
                erorrWindow.NotSend.Text = "Ошибка при отправке письма \n" + except.ToString();
                erorrWindow.ShowDialog();
            }
        }
Esempio n. 2
0
        private async Task SendMailAsync(string mail, string name) // Отправка email конкретному адресату
        {
            using (MailMessage mm = new MailMessage(strLogin, mail))
            {
                mm.Subject    = strSubject;
                mm.Body       = strBody + "\nПисьмо от " + DateTime.Now;
                mm.IsBodyHtml = false;
                SmtpClient sc = new SmtpClient(strSmtp, iSmtpPort);
                sc.EnableSsl             = true;
                sc.DeliveryMethod        = SmtpDeliveryMethod.Network;
                sc.UseDefaultCredentials = false;
                sc.Credentials           = new NetworkCredential(strLogin, strPassword);
                try
                {
                    await sc.SendMailAsync(mm).ConfigureAwait(false);

                    View.SendEndWindow sendEnd = new View.SendEndWindow();
                    sendEnd.ShowDialog();
                }
                catch (Exception ex)
                {
                    View.ErorrWindow erorrWindow = new View.ErorrWindow();
                    erorrWindow.ShowDialog();
                    MessageBox.Show("Невозможно отправить письмо " + ex.ToString());
                }
            }
        }