-3

I have an issue. I have situation where I need to send around 3000 emails per request using SMTP. However, only 30-40 reaches destination.

Do you have any idea what can be a problem and how to solve it. as server side script I am using PHP.

4 Answers 4

3

I created a mailer for my last job that sends a bit over 3,000 emails every Monday morning (in batches of 50 with a delay between batches depending on the size of the message). 3,000 is not a particularly large amount and there's no reason your system shouldn't be able to handle it with ease.

I suspect that your real issue is one of spam. Specifically, unless your system has been appropriately configured and the messages properly constructed and written they will be trapped as spam by most receiving systems. Get those details sorted out and you should be fine. As for the specifics, that's another question altogether and a topic which has been very well covered many times before and doesn't need to be repeated.

1
  • Even properly configured I never send batches larger than 20. Per one SMTP connection. Simple like that. 3000 emails is pathetically low for any mass mailing - add some zeroes and it gets seirous. NO inherent problem, it is all about how the server is configured.
    – TomTom
    Jun 21, 2012 at 9:16
1

You should send the mails in batches. The batch size has to be tested but I'd start with 10 to 50 with short delays.

If that's not an option you might look into a service like http://aws.amazon.com/de/ses/

1

If you are sending that many and delivery matters, you should look into a company like

http://sendgrid.net

We use them and you just config postfix to act as a relay and all your mail will get relayed to them.

3
  • I do have my own mail server. can i configure it for such amount
    – Akram
    Jun 21, 2012 at 2:52
  • 5
    If you could, you wouldn't need to ask this question. Jun 21, 2012 at 3:17
  • sending that much mail isn't worth it.. you haven't spent the time to get whitelisted on major providers email servers like sendgrid has. If deliverability is important to you.. do not do it yourself. Like for example.. aol.com's email server will block you have it see's a new email server hitting it more then like 50 times in a single day.
    – Mike
    Jun 21, 2012 at 12:42
-2

This should run from cron and not from HTTP request, because it will timeout so this way not all mails will be delivered, which you have described.

6
  • 1
    -1 Nothing in the question implies either using-HTTP or not-using-cron.
    – nickgrim
    Jun 21, 2012 at 9:14
  • Like what, it says "request" and "php", and php request going over HTTP Jun 21, 2012 at 9:16
  • It says, server side PHP script sending 3000 emails from single request. So I say, 3000 emails run from cronjob, because the loop with exit after 30 seconds of CPU usage. Jun 21, 2012 at 9:18
  • 1
    You can write "server-side" scripts in PHP, and run them from cron; "PHP" does not necessarily imply "HTTP".
    – nickgrim
    Jun 21, 2012 at 11:15
  • "3000 emails per request" - so what do you think it means? Jun 21, 2012 at 16:00

Not the answer you're looking for? Browse other questions tagged .