.NETGURU
Scalability of simple .NET-based mass mailer
Messages   Related Types
This message was discovered on ASPFriends.com 'ngfx-mail' list.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.

Jason Salas
Hi everyone,

I'm using the same basic code construct to send newsletters to a mailing
list...this is a typical setup using CDO to send out e-mail, looping through
a collection of addresses stored in a database:

' connect to a database and instantiate a DataReader object
' ...
objMailMessage = New MailMessage
objMailMessage.From = "Click here to reveal e-mail address"
objMailMessage.Subject = "Hi there!"
objMailMessage.Priority = MailPriority.High
objMailMessage.Body = "This is my body...it is a temple!"
objMailMessage.BodyFormat = MailFormat.HTML

' loop through the recordset and send each address in the DB an
individual message
Do While objDataReader.Read()
objMailMessage.To = objDataReader("Email")
SmtpMail.SmtpServer = "localhost"
SmtpMail.Send( objMailMessage )
Loop

But up to this point, I've only used it for smaller apps, like sending to
around 100 addresses. The newsletter app I'm working on may eventually have
several hundred or even close to a thousand recipients. Does anyone know
the limits and scalability issue(s) of using the above method to send out
e-mail...and is there something more advisable that won't damage my server?
I'm assuming that such a method can't handle 20,000 addresses, but I'm
curious as to the lengths I should go on this one. :)

Thanks!

Jason

Reply to this message...
 
    
Eric
Jason - I can't directly answer your question, but I've been
experimenting with this app I found on the asp.net forums and it works
very well. I've used it to send a newsletter to over 30,000 recipients.

http://www.aspnetemail.com/default.aspx

Good luck,
Eric

-----Original Message-----
From: Jason Salas [mailto:Click here to reveal e-mail address]
Sent: Saturday, June 15, 2002 8:33 PM
To: ngfx-mail
Subject: [ngfx-mail] Scalability of simple .NET-based mass mailer

Hi everyone,

I'm using the same basic code construct to send newsletters to a mailing
list...this is a typical setup using CDO to send out e-mail, looping
through a collection of addresses stored in a database:

' connect to a database and instantiate a DataReader object
' ...
objMailMessage = New MailMessage
objMailMessage.From = "Click here to reveal e-mail address"
objMailMessage.Subject = "Hi there!"
objMailMessage.Priority = MailPriority.High
objMailMessage.Body = "This is my body...it is a temple!"
objMailMessage.BodyFormat = MailFormat.HTML

' loop through the recordset and send each address in the DB an
individual message
Do While objDataReader.Read()
objMailMessage.To = objDataReader("Email")
SmtpMail.SmtpServer = "localhost"
SmtpMail.Send( objMailMessage )
Loop

But up to this point, I've only used it for smaller apps, like sending
to around 100 addresses. The newsletter app I'm working on may
eventually have several hundred or even close to a thousand recipients.
Does anyone know the limits and scalability issue(s) of using the above
method to send out e-mail...and is there something more advisable that
won't damage my server? I'm assuming that such a method can't handle
20,000 addresses, but I'm curious as to the lengths I should go on this
one. :)

Thanks!

Jason

| [ngfx-mail] member Click here to reveal e-mail address = YOUR ID
| http://www.aspfriends.com/aspfriends/ngfx-mail.asp = JOIN/QUIT

Reply to this message...
 
    
aspNetEmail
Hi Jason,
I'm going to try an not make this sound like an advertising pitch... but
here goes...

I run www.kbAlertz.com , and in Feb of this year, I was sending out 1000's
of emails for that site, using code, almost identical (using a datatable
instead of a reader) to what you have there. Then suddenly the code stopped
working (some CDO exception was occurring) ... mails were not going out..
Now some people don't have problems with System.Web.Mail, but it was a
headache for me, and my subscribers were not very happy ( I posted multiple
times to aspfriends and developmentor list and never came up with a
solution). Now, for some reason, I was using the same code for sending out
newsletters on www.123aspx.com, on the same machine . Never gave me a
problem, but the volume was 1/10 of kbalertz. I switched to using the
www.aspNetEmail.com mail component, for kbalertz, and haven't had any
problems. None. In fact, when I migrated the www.123aspx.com newsletter
code, to use the aspNetEmail component, the mailing went from taking over an
hr to less than 10min. I just finished writing a tutorial at
http://www.dotnetjunkies.com/tutorials.aspx?tutorialid=397 for a mass
emailer. A number of other sites use this, and one of them sends out 23K+
emails at a time, without a problem.

anyway... i guess the System.Web.Mail has been flaky for me. Use it in high
volume situations at your own risk. I think if you keep the mailings under
1K or so at a time, you should be ok, but it just didn't do well for me when
I tried sending out 50K or 100K emails at a time.

my 2 cents,
Dave

----- Original Message -----
From: "Jason Salas" <Click here to reveal e-mail address>
To: "ngfx-mail" <Click here to reveal e-mail address>
Sent: Saturday, June 15, 2002 7:32 PM
Subject: [ngfx-mail] Scalability of simple .NET-based mass mailer

[Original message clipped]

Reply to this message...
 
    
Steve Schofield (VIP)
Hi Jason,

Not to endorse aspNetEmails component and rapid mailer but i use this to
send ASPFree's 23k+ every week. Stable as heck and easy. Just make sure
your SMTP mail server can handle the load.

* ----------------------------------------- *
* Steve Schofield
* Click here to reveal e-mail address
*
* Microsoft MVP - ASP.NET
* http://www.aspfree.com
* ----------------------------------------- *
----- Original Message -----
From: "Jason Salas" <Click here to reveal e-mail address>
To: "ngfx-mail" <Click here to reveal e-mail address>
Sent: Saturday, June 15, 2002 8:32 PM
Subject: [ngfx-mail] Scalability of simple .NET-based mass mailer

[Original message clipped]

Reply to this message...
 
    
Dave,

Just out of curiosity. Did you use the local pickup directory to submit
your messages (using SmtpMail.SmtpServer =3D "localhost")? I've seen
several people complaining recently that CDOSYS (CDO for Windows 2000)
doesn't work in high volume situations. Why I mention CDOSYS? Well
SmtpMail.SmtpServer uses CDOSYS as underlying API to submit the
messages.

When using CDOSYS (or SmtpMail.SmtpServer) with the local pickup the API
is supposed to generate a unique name for each .EML file it drops into
the pickup directory, but under heavy load it seems to fail creating
unique names hence I'd recommend using the SMTP port and FQDN to submit
the message and not the local pickup.

Just my $.02 US

<Cheers:Siegfried runat=3D"server" />

[Original message clipped]

Reply to this message...
 
    
dave wanta (VIP)
Yeah, I'm pretty sure I did that by default.

However, I believe I did try sending it to a server to relay through. Still
created errors.

Thanks for the heads up though, I'll remember that next time someone runs
into those problems.

Cheers!
dave
----- Original Message -----
From: <Click here to reveal e-mail address>
To: "ngfx-mail" <Click here to reveal e-mail address>
Sent: Sunday, June 16, 2002 2:57 AM
Subject: [ngfx-mail] Re: Scalability of simple .NET-based mass mailer

Dave,

Just out of curiosity. Did you use the local pickup directory to submit
your messages (using SmtpMail.SmtpServer = "localhost")? I've seen
several people complaining recently that CDOSYS (CDO for Windows 2000)
doesn't work in high volume situations. Why I mention CDOSYS? Well
SmtpMail.SmtpServer uses CDOSYS as underlying API to submit the
messages.

When using CDOSYS (or SmtpMail.SmtpServer) with the local pickup the API
is supposed to generate a unique name for each .EML file it drops into
the pickup directory, but under heavy load it seems to fail creating
unique names hence I'd recommend using the SMTP port and FQDN to submit
the message and not the local pickup.

Just my $.02 US

<Cheers:Siegfried runat="server" />

[Original message clipped]

| [ngfx-mail] member Click here to reveal e-mail address = YOUR ID
| http://www.aspfriends.com/aspfriends/ngfx-mail.asp = JOIN/QUIT

Reply to this message...
 
 
System.Web.Mail.MailFormat
System.Web.Mail.MailMessage
System.Web.Mail.MailPriority
System.Web.Mail.SmtpMail




ExamGuru IT Solutions - .Net Guru is owned and operated by ExamGuru, Inc., the man behind .Net Guru. If you're in the market for bespoke software or software consultancy, why not get him and his highly trained team to help? - www.examguru.net/ITCertification
Ad


Need Dot Net Interview Questions?
Ask ExamGuru, Inc. for advice and help on Passing .Net Interviews
.Net Projects
Best-of-breed application framework for .NET projects, developed by ExamGuru, Inc. and ExamGuru IT
Free .net Help
Commission ExamGuru, Inc. and his team for your next bespoke software project
FogBUGZ
The only bug tracking system carefully crafted with one goal in mind: helping teams create great software.
Awesome Tools
If you don't know about these, you're missing out... IT Certification Questions
IT Interview Questions
Free Oracle 10g Training
MCSE Boortcamp
Cisco Study Guides
Cheap Study Guides
Exact Questions
Dot Net Interview Questions
Oracle OCP
Cheap Travel
Designer Perfumes - Wholesale Prices
Free Programming Tutorials
 
ExamGuru IT Solutions - .Net Guru is owned and operated by ExamGuru, Inc., the man behind .Net Guru. If you're in the market for bespoke software or software consultancy, why not get him and his highly trained team to help? - www.examguru.net/ITCertification
 Copyright © ExamGuru, Inc. 2001-2006
Contact Us - Terms of Use - Privacy Policy - www.dot-net-guru.com - www.examguru.net - www.oraclesource.net - www.itinterviews.net - www.examguru.net/ITCertification