Using DB email sending emails to 30000 users

  • Hi All,

    I have one table where there is a column that have email id's for more than 30000 users , using db email can we send email to 30000 users? is it a good approach ? if so how much time it will take to send ?
    Is there any SMTP limitation?
    If db email is not a good approach then what is the other best approach?

    Thanks,
    Naren.

  • i did this once.
    once.
    my mail server / domain was banned by most large ISP's for spamming. my list of contacts was just shy of 5000 people, and i was trying to email on behalf of a non-profit. blcoekd, banned, blacklisted, you name it.
    their servers identify that you sent a large number of emails to their domain, and you get hammered.
    I still suffer the consequences to this day, where I casually email a college and get a rejection like this:

    Could not deliver message to the following recipient(s):Failed Recipient: ****@citrix.comReason: Remote host said: 554 You are being rejected because your senderbase score is below our accepted policy. If you have any questions about your senderbase score, please goto http://www.senderbase.org

    if you have a large list like that, expect to have to pay a mail service like constant contact or mailchimp to send emails on your behalf. and that is not cheap; mailchimp was $50 dollars a month for a mail list under 5K, as I last remember.

    Lowell


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!

  • narendra.babu57 - Tuesday, June 6, 2017 3:27 AM

    Hi All,

    I have one table where there is a column that have email id's for more than 30000 users , using db email can we send email to 30000 users? is it a good approach ? if so how much time it will take to send ?
    Is there any SMTP limitation?
    If db email is not a good approach then what is the other best approach?

    Thanks,
    Naren.

    Are all 30000 users in the same company? IF yes, then it could be better to request the exchange admins of said company to create a distribution list internally, and just provide you with the name of the new list. 
    Let the exchange server do the broadcasting. 

    If not, it might be better to break the user base down into chunks, not by company, you'll most probably get blacklisted.
    Bottom line, sending mail from SQL to 30 000 users in a single batch is not a good idea.

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    This thing is addressing problems that dont exist. Its solution-ism at its worst. We are dumbing down machines that are inherently superior. - Gilfoyle

  • sql server is not an email outlet. It is useful for alerts and the odd message, but fundamentally is stores data.
    There are other utilities/applications that are made for email distribution, most obviously exchange as had already been mentioned.
    alternatively, try SSIS, extract the table, loop through the records and use send mail task... I'm pretty sure this doesn't use Database Mail? (somebody correct mem if I'm wrong!). this will take a long time though as you are going row by agonising row!
    However, as already mentioned, sending 30,000 emails in one batch is not a good idea! poor exchange admin!

  • Database Mail is asynchronous, so anything using sp_send_dbmail just inserts mail into the table dbo.sysmail_mailitems, which the engine just sends the emails out one at a time anyway.
    throughput wise, when I screwed up and did it, I seem to remember that it was it was sending about 800-1000 emails per hour or so; 5K emails in about four or five hours.

    I see the same sort of behavior with MailChimp; the delivery between a*.gmail.com and z*.gmail.com was about the same delta in time.
    whatever process you use, it's a loop for individual emails, but the threat of being blacklisted is enormous if you do it yourself.

    Lowell


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!

  • We used to do something similar here. We tested DBMail, and it works, but it's not a great use of the server resources if you need them for queries.
    There are issues with sending mails in volume, and many SMTP servers will start to reject lots of mails, especially from one system. As mentioned, there can be SPAM issues.

    Possible, but I'd use an SMTP relay and ensure they are aware you are sending mails at this volume.

  • You're also getting into topics like sender reputation and having agreements with the larger service providers - Comcast, AT & T, Gmail, AOL (believe it or not), QQ (China), etc.  It's quite a bit of work, but it worth it if you do frequent mass emails.  As for reputation scores, it takes some time to build up a good one and you'd better not change your sending server or it'll be considered brand new.  Once you build up a good reputation, it's all about behaving well over a long period of time before you're really trusted.  There are also laws in some countries that restrict the time of day you send...that's local time to the recipient.

    If this is a one-time event, you're probably better off having it done by a  mass email provider.

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply