Quando ho inviato una mail utilizzando System.Net.Mail, sembra che i messaggi non vengano inviati immediatamente. Prendono un minuto o due prima di raggiungere la mia casella di posta. Una volta che ho chiuso l'applicazione, tutti i messaggi vengono ricevuti in pochi secondi. Esiste una sorta di impostazione del buffer dei messaggi di posta elettronica che può forzare SmtpClient a inviare messaggi immediatamente?System.Net.Mail e MailMessage non inviare messaggi immediatamente
public static void SendMessage(string smtpServer, string mailFrom, string mailFromDisplayName, string[] mailTo, string[] mailCc, string subject, string body)
{
try
{
string to = mailTo != null ? string.Join(",", mailTo) : null;
string cc = mailCc != null ? string.Join(",", mailCc) : null;
MailMessage mail = new MailMessage();
SmtpClient client = new SmtpClient(smtpServer);
mail.From = new MailAddress(mailFrom, mailFromDisplayName);
mail.To.Add(to);
if (cc != null)
{
mail.CC.Add(cc);
}
mail.Subject = subject;
mail.Body = body.Replace(Environment.NewLine, "<BR>");
mail.IsBodyHtml = true;
client.Send(mail);
}
catch (Exception ex)
{
logger.Error("Failure sending email.", ex);
}
Grazie,
Mark
Si sta utilizzando [Invia] (http://msdn.microsoft.com/en-us/library/swas0fwc.aspx) o [SendAsync] (http://msdn.microsoft.com/en-us/library /x5x13z6h.aspx)? Stai inviando direttamente al tuo server di posta elettronica o tramite un altro server SMTP? – Rup
Si noti che quando mi mando un messaggio di posta elettronica avviene quasi immediatamente, quindi non è il server smtp. – mservidio
utilizzando Invia. Ho appena aggiunto il mio metodo di supporto ... – mservidio