I've set up a windows service to do the bulk mailing functionality which executes it batch by batch.
The service fetches one batch from DB during its schedule and after each batch i've given a delay of 20 seconds.
Do this prevent from considering the mails as spam or as bulk? If so do my code performs what i require. My code is as follows:
//get the batch and execute in a child thread and need to continue only after the thread get terminated.
for (int i = 0; i <= QueueCount/20;i++)
{
Thread newThread = new Thread(ProcessMailQueue);
newThread.Start();
while(!newThread.IsAlive);
Thread.Sleep(1);
newThread.Join();
}
//delay after each batch e开发者_如何学Cxecution
private void ProcessMailQueue()
{
send the full mails in a batch
Thread.Sleep(20000);
}
Any one please give your suggestion....
AFAIK, most of the time, spam detection happens at recipient side i.e. at mail client or service/SMTP managing recipient mailboxes. Its unlikely to happen at originating SMTP (because these days, SMTP needs authentication and/or they does not support relaying so does not need to detect spam).
Regardless, spam detection happens based on many different parameters such as number of recipient (to/cc/bcc), mail contents, a list of know spammer SMTP getaways etc so you have to consider that. Typically, email messages with legitimate content, subject filled, having a valid form, and few recipients (with To specified) are unlikely considered as a spam.
精彩评论