public static void SendToEnqueue(string Subject, List <string> Emails, string msgBody, string from) { NuvemMailMessage msg = new NuvemMailMessage(); foreach (var to in Emails) { msg.To.Add(new MailAddress(to)); } msg.From = new MailAddress(Properties.Settings.Default.SMTP_EMAIL, from); msg.Body = msgBody; msg.IsBodyHtml = true; _Queue.Add(msg); }
public static void SendMail(NuvemMailMessage msg) { /* * Cliente SMTP * Gmail: smtp.gmail.com puerto:587 * Hotmail: smtp.liva.com puerto:25 */ SmtpClient client = new SmtpClient(Properties.Settings.Default.SMTP_SERVER, Properties.Settings.Default.SMTP_PORT); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(Properties.Settings.Default.SMTP_EMAIL, Properties.Settings.Default.SMTP_PWD); try { client.Send(msg); } catch (Exception ex) { LogManager.Write("ERROR:" + Environment.NewLine + "\tMETHOD = MailHelper." + MethodBase.GetCurrentMethod().Name + Environment.NewLine + "\tMESSAGE = " + ex.Message); } }
public static Task SendMailAsync(NuvemMailMessage msg) { /* * Cliente SMTP * Gmail: smtp.gmail.com puerto:587 * Hotmail: smtp.liva.com puerto:25 */ SmtpClient client = new SmtpClient(Properties.Settings.Default.SMTP_SERVER, Properties.Settings.Default.SMTP_PORT); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(Properties.Settings.Default.SMTP_EMAIL, Properties.Settings.Default.SMTP_PWD); //try //{ TaskCompletionSource <object> tcs = new TaskCompletionSource <object>(); Guid sendGuid = Guid.NewGuid(); SendCompletedEventHandler handler = null; handler = (o, ea) => { if (ea.UserState is Guid && ((Guid)ea.UserState) == sendGuid) { client.SendCompleted -= handler; if (ea.Cancelled) { tcs.SetCanceled(); } else if (ea.Error != null) { tcs.SetException(ea.Error); } else { tcs.SetResult(null); } } }; client.SendCompleted += handler; client.SendAsync(msg, sendGuid); return(tcs.Task); /* Enviar */ //Task sendTask = mail.SendMailAsync(msg); //client.SendAsync(message); //sendTask.ContinueWith(task => //{ // if (task.IsFaulted) // { // Exception ex = task.Exception.InnerExceptions.First(); // //handle error // } // else if (task.IsCanceled) // { // //handle cancellation // } // else // { // //task completed successfully // } //}); }