PHP broadcast mailer

PHP broadcast mailer

am 17.10.2009 07:41:03 von Brian Hazelton

I am in charge of an email newsletter list and making sure it gets sent
out in time. My problem is I have never done broadcast emailing and
right now we have 400 subscribers but want to build a system that can
scale well regardless of the number of subscribers. Right now I use
mysql to store the email and use phpmailer in a loop to send an email to
each of the emails in the db, it is already slow with just 400(takes
around 10 min (i think that's slow isnt it?). Has anyone built a
broadcast email script and willing to help me?

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 17.10.2009 07:56:42 von George Langley

Hi there. At what point would it be beneficial to subscribe to a mass
mail service such as Constant Contact or iContact, to avoid being
blacklisted for sending too many e-mails?

George

On 16-Oct-09, at 11:41 PM, Brian Hazelton wrote:

> I am in charge of an email newsletter list and making sure it gets
> sent out in time. My problem is I have never done broadcast emailing
> and right now we have 400 subscribers but want to build a system
> that can scale well regardless of the number of subscribers. Right
> now I use mysql to store the email and use phpmailer in a loop to
> send an email to each of the emails in the db, it is already slow
> with just 400(takes around 10 min (i think that's slow isnt it?).
> Has anyone built a broadcast email script and willing to help me?
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 17.10.2009 08:05:41 von Tommy Pham

----- Original Message ----
> From: Brian Hazelton
> To: php-general@lists.php.net
> Sent: Fri, October 16, 2009 10:41:03 PM
> Subject: [PHP] PHP broadcast mailer
>
> I am in charge of an email newsletter list and making sure it gets sent out in
> time. My problem is I have never done broadcast emailing and right now we have
> 400 subscribers but want to build a system that can scale well regardless of the
> number of subscribers. Right now I use mysql to store the email and use
> phpmailer in a loop to send an email to each of the emails in the db, it is
> already slow with just 400(takes around 10 min (i think that's slow isnt it?).
> Has anyone built a broadcast email script and willing to help me?
>
> -- PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php

Brian,

Sounds like you're sending 1 email address at the time. I haven't build any yet but here some ideas. If the subscribers are getting the exact same material, you could do batch fetch of several say 20 or more of email address (check with your SMTP server limit) and send them all via BCC. You could knock that out easily. If only some subscribers get the same content, you can then fetch the batch email addresses by filtering the content they're supposed to receive.

The speed at which your email goes out depends on the SMTP server (delay, queue, hardware, attachment size, etc). Here's a pseudo code:

// fetch email addresses in batch size - within limit of SMTP server
// create email with addresses in BCC - loop through batch to create BCC
// send mail.
// update db for the sent addresses
// rinse and repeat until all emails are sent.

Regards,
Tommy


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 17.10.2009 08:07:22 von Tommy Pham

----- Original Message ----
> From: George Langley
> To: php-general@lists.php.net
> Sent: Fri, October 16, 2009 10:56:42 PM
> Subject: Re: [PHP] PHP broadcast mailer
>
> Hi there. At what point would it be beneficial to subscribe to a mass mail
> service such as Constant Contact or iContact, to avoid being blacklisted for
> sending too many e-mails?
>
> George
>
> On 16-Oct-09, at 11:41 PM, Brian Hazelton wrote:
>
> > I am in charge of an email newsletter list and making sure it gets sent out in
> time. My problem is I have never done broadcast emailing and right now we have
> 400 subscribers but want to build a system that can scale well regardless of the
> number of subscribers. Right now I use mysql to store the email and use
> phpmailer in a loop to send an email to each of the emails in the db, it is
> already slow with just 400(takes around 10 min (i think that's slow isnt it?).
> Has anyone built a broadcast email script and willing to help me?
> >
> > --PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
>
>
> --PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php

Good point, George. Forgot about that ... hehe. My reply went out just as yours came in.


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 17.10.2009 08:11:06 von Brian Hazelton

I thought about doing a batch email, is that an accepted practice, also
how do I find my smtp server limit?

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 17.10.2009 08:29:48 von Tommy Pham

----- Original Message ----
> From: Brian Hazelton
> To: php-general@lists.php.net
> Sent: Fri, October 16, 2009 11:11:06 PM
> Subject: Re: [PHP] PHP broadcast mailer
>
> I thought about doing a batch email, is that an accepted practice, also how do I
> find my smtp server limit?
>
> -- PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php

Brian,

As George mentioned, beware of getting blacklisted. Try to randomize the batch fetch so you're less likely to spam the receiving server(s). As for getting the SMTP server limit, It's beyond the scope of this list. You'll need to contact your server/network admin. The method varies on SMTP server (SENDMAIL, MS SMTP/Exchange, etc).

Regards,
Tommy


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 17.10.2009 22:08:54 von Manuel Lemos

Hello,

on 10/17/2009 02:41 AM Brian Hazelton said the following:
> I am in charge of an email newsletter list and making sure it gets sent
> out in time. My problem is I have never done broadcast emailing and
> right now we have 400 subscribers but want to build a system that can
> scale well regardless of the number of subscribers. Right now I use
> mysql to store the email and use phpmailer in a loop to send an email to
> each of the emails in the db, it is already slow with just 400(takes
> around 10 min (i think that's slow isnt it?). Has anyone built a
> broadcast email script and willing to help me?

I use the MIME message mailer class which has optimizations specifically
for sending messages to many recipients. Take a look at the
test_personalized_bulk_mail.php example script.

Also keep in mind that for sending many messages, queueing messages in
an SMTP server is the slowest method of all. Read this article for more
details:

http://www.phpclasses.org/blog/package/14/post/1-Sending-mes sages-to-many-recipients-via-SMTP-in-PHP.html

--

Regards,
Manuel Lemos

Find and post PHP jobs
http://www.phpclasses.org/jobs/

PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 17.10.2009 23:32:00 von George Langley

> On 16-Oct-09, at 11:56 PM, George Langley wrote:
>
>> At what point would it be beneficial to subscribe to a mass mail
>> service such as Constant Contact or iContact, to avoid being
>> blacklisted for sending too many e-mails?

On 17-Oct-09, at 12:01 AM, Brian Hazelton wrote:

> I am sorry, but I am confused by your question. I thought that these
> companies worked with email providers to stay off the blacklists?
-----------
They do - my point exactly. You may be fine for a small mass e-mail
campaign (you mentioned 400 but growing). But if you do grow to the
point of something getting triggered, and your URL or server, or
worse, your ISP, gets black-listed, it may be hard to undo the damage.
Am not sure what sort of limits any of these will allow before they
start thinking you are spamming. Or how big you have to be to be
considered trust-worthy to be allowed to send multiple e-mails. My
main ISP (shaw.ca - 100s of 1,000s of customers) has gotten
blacklisted a number of times, and suddenly friends would get e-mails
to my @shaw address rejected, and had to start using one of my other
addresses. A very tiny mail list I belonged to (40 people if even
that) refused to send to all of its @shaw members, and I ended up re-
registering under a different address because it happened enough times.
The company I work for has internal clamps that get triggered if
anyone tries to send to more than 50 addresses. They also run a
separate mail server from their web site hosting. The site is hosted
on Amazon's Cloud - a huge company, and yet every one of their IPs are
black-listed:

>

The result was that even just a single e-mail to confirm
registration to the member-only section of the site was getting
flagged as spam by hotmail, or rejected outright by some other mail
servers. Kinda hard to complete a registration if you never see the e-
mail! We ended up relaying through our own mail server, which is fine
for a one-at-a-time e-mail. But at over 50,000 customers, I have been
strongly recommending the use of service if they do decide to start
any mass e-mail newsletters or campaigns.
Anyway, my point is - how important is this part of your business,
and would it be worth the $ cost to use a service, rather than
building, maintaining and potentially protecting your own? Just a
thought.

George

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 18.10.2009 05:02:26 von Paul M Foster

On Sat, Oct 17, 2009 at 01:41:03AM -0400, Brian Hazelton wrote:

> I am in charge of an email newsletter list and making sure it gets sent
> out in time. My problem is I have never done broadcast emailing and
> right now we have 400 subscribers but want to build a system that can
> scale well regardless of the number of subscribers. Right now I use
> mysql to store the email and use phpmailer in a loop to send an email to
> each of the emails in the db, it is already slow with just 400(takes
> around 10 min (i think that's slow isnt it?). Has anyone built a
> broadcast email script and willing to help me?
>

Use PHPList. It's free.

Paul

--
Paul M. Foster

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: PHP broadcast mailer

am 20.10.2009 12:28:32 von Tom Chubb

--0015175cd1e8fa361c04765b52a1
Content-Type: text/plain; charset=ISO-8859-1

2009/10/18 Paul M Foster

> On Sat, Oct 17, 2009 at 01:41:03AM -0400, Brian Hazelton wrote:
>
> > I am in charge of an email newsletter list and making sure it gets sent
> > out in time. My problem is I have never done broadcast emailing and
> > right now we have 400 subscribers but want to build a system that can
> > scale well regardless of the number of subscribers. Right now I use
> > mysql to store the email and use phpmailer in a loop to send an email to
> > each of the emails in the db, it is already slow with just 400(takes
> > around 10 min (i think that's slow isnt it?). Has anyone built a
> > broadcast email script and willing to help me?
> >
>
> Use PHPList. It's free.
>
> Paul
>
>
I second that and make sure you add an SPF Key to your domain:
http://old.openspf.org/wizard.html
You should be able to get the SMTP limits from your host and these can be
configured in PHPlist.
The bounce handling takes away a lot of admin work once your list starts
getting larger and people's email addresses change/stop working.

Tom

--0015175cd1e8fa361c04765b52a1--