|
Posted by Nicholas W . Miller on 10/04/16 11:10
On Mar 11, 2005, at 2:34 PM, Richard Lynch wrote:
>> what i'm currently doing:
>> -using mysql_fetcharray() to loop through an array of query results
>> -for each iteration of the loop, get an email address from the
>> current row
>> in the result set, and use it with the mail() function to send out an
>> individual email to that email address, then echo out a confirmation
>> in
>> HTML so that the user will know that an email has been sent
>> -this is repeated for each email address found in the result set
>> problem with this is: with large result sets (some of my result sets
>> come
>> up with a few thousand email addresses), users have to wait a long
>> time
>> for the confirmation messages to print out to their browser,
>> sometimes it
>> seems that not all the messages go through
>
> Ye Gods!
>
> The mail() function is designed for quickie one-off emails, not sending
> out thousands. Hell, it can't even handle dozens, not reliably, at
> least
> not on some hardware/connections.
I have to disagree on this one. I've used the method described above,
pulling e-mails from a MySQL table, to send out to well over 10,000
recipients with out error. As a safeguard, I have the script write the
id of each record that is e-mailed, so if the script does fail at some
point I can easily find out where it left off and tweak the script to
start there upon running it again.
I call the script from a browser and its written to print each address
as it's sent. It does take some time for the addresses to appear in
the browser and the seem to come in batches of a couple hundred at a
time, but it will eventually display all of the addresses with some
patience.
Nicholas Miller
Intercast Media, Inc.
229 19th Ave. Suite 4
San Francisco, CA 94121
415-379-9500
415-520-9501 (fax)
nick@intercastmedia.com
[Back to original message]
|