ritardo nel ricevere e-mail inviata da C #
Domanda
Ecco il mio codice
for(int i = 0; i < number ; i++)
{
MailAddress to = new MailAddress(iMail.to);
MailAddress from = new MailAddress(iMail.from, iMail.displayName);
string body = iMail.body;
string subject = iMail.sub;
oMail = new MailMessage(from, to);
oMail.Subject = subject;
oMail.Body = body;
oMail.IsBodyHtml = true;
oMail.Priority = MailPriority.Normal;
oMail.Sender = from;
s = new SmtpClient(smtpServer);
s.ServicePoint.ConnectionLeaseTimeout = 0;
if (s != null)
{
s.Send(oMail);
}
oMail.Dispose();
s = null;
}
io mando oltre 60.000 e-mail utilizzando questo codice, ora il mio problema qualche destinatario riceve e-mail subito, ma alcuni di loro ottiene dopo pochi minuti e alcuni di loro ottiene anche dopo poche ore e possono essere molti di loro si perde prima di raggiungere a destinazione. e il mio Questo numero è ancora senza risposta. Ho davvero bisogno di aiuto in questo. sono bloccato. grazie
Soluzione
In realtà questo ha un senso. Non pensi che con l'invio di messaggi di posta elettronica 60K in brevissimo lasso di tempo il vostro rischiano di essere considerato come uno spammer? Ritardare le e-mail come StrongMail fa è un buon modo per evitare di essere bandito dagli ISP.
Altri suggerimenti
Prova il seguente: la vostra MailMessage ha bisogno di essere in un blocco using
. Inoltre, non è necessario un nuovo SmtpClient
per ogni messaggio. Certamente non c'è bisogno di impostare a NULL! Questo non è VB6.
SmtpClient smtpClient = new SmtpClient(smtpServer);
smtpClient.ServicePoint.ConnectionLeaseTimeout = 0;
for (int i = 0; i < number; i++)
{
MailAddress to = new MailAddress(iMail.to);
MailAddress from = new MailAddress(iMail.from, iMail.displayName);
string body = iMail.body;
string subject = iMail.sub;
using (MailMessage mailMessage = new MailMessage(from, to))
{
mailMessage.Subject = subject;
mailMessage.Body = body;
mailMessage.IsBodyHtml = true;
mailMessage.Priority = MailPriority.Normal;
mailMessage.Sender = from;
smtpClient.Send(mailMessage);
}
}
Suggerimento: non nominare le cose come le variabili oMail
. We so Si tratta di un oggetto. La maggior parte delle cose sono. Non c'è niente di speciale gli oggetti più.
il problema non è probabile che con il codice, ma con il server SMTP.
Potrebbe essere un qualsiasi numero di questioni, come non riuscendo a trovare i record MX nel vostro server DNS (soprattutto se il server DNS è debole, e non è in grado di gestire le ricerche che veloce).
Vorrei controllare i log del server di posta, come qualche indicazione su ciò che sta accadendo.