public void SendParallel(Mail Message, Adresser From, IEnumerable <Adressee> To) { foreach (var adressee in To) { ThreadPool.QueueUserWorkItem(_ => Send(Message, From, adressee)); } }
public void Send(Mail Message, Adresser From, IEnumerable <Adressee> To) { foreach (var adressee in To) { Send(Message, From, adressee); } }
/*public async Task SendAsync(Mail Message, Adresser From, IEnumerable<Adressee> To) //отправка сразу нескольким параллельной обработкой * { * await Task.WhenAll(To.Select(to => SendAsync(Message, From, to))).ConfigureAwait(false); * }*/ public async Task SendAsync(Mail Message, Adresser From, IEnumerable <Adressee> To, CancellationToken Cancel = default) //2 вариат рассылки последовательной обработкой { foreach (var recipient in To) { Cancel.ThrowIfCancellationRequested(); await SendAsync(Message, From, recipient).ConfigureAwait(false); } }
public void Edit(Adresser adresser) { var current_main_window = (MainWindow)Application.Current.MainWindow; //создаем окно внутри сервеса var editor = new AdresserEditor(adresser, current_main_window); editor.WindowStartupLocation = WindowStartupLocation.CenterOwner; editor.Owner = current_main_window; if (editor.ShowDialog() != true) { return; //если пользователь выбрал не кнопку ок то выходим, в противном случае возвращаем данные обратно } adresser.Name = editor.Name; adresser.Address = editor.AdressValue; }
public void Send(Mail Mail, Adresser From, Adressee To) { using (var message = new MailMessage(new MailAddress(From.Address, From.Name), new MailAddress(To.Address, To.Name))) { message.Subject = Mail.Subject; message.Body = Mail.Body; var login = new NetworkCredential(_Server.Login, _Server.Password); using (var client = new SmtpClient(_Server.Address, _Server.Port) { EnableSsl = _Server.UseSSL, Credentials = login }) client.Send(message); } }
public async Task SendAsync(Mail Mail, Adresser From, Adressee To) //отправка одного сообщения асинхронно { using (var message = new MailMessage(new MailAddress(From.Address, From.Name), new MailAddress(To.Address, To.Name))) { message.Subject = Mail.Subject; message.Body = Mail.Body; var login = new NetworkCredential(_Server.Login, _Server.Password); using (var client = new SmtpClient(_Server.Address, _Server.Port) { EnableSsl = _Server.UseSSL, Credentials = login }) //client.Send(message); await client.SendMailAsync(message).ConfigureAwait(false); } }
public void Send(Mail Mail, Adresser From, Adressee To) { Debug.WriteLine("Отправка почты от {0} к {1} через {2}:{3}[{4}]\r\n{5}:{6}", From.Address, To.Address, _Server.Address, _Server.Port, _Server.UseSSL ? "SSL" : "no SSL", Mail.Subject, Mail.Body); }