Re: [PHP] Re: bulk emailer
Hello, on 03/14/2005 07:37 PM Chris W. Parker said the following: Usually you can tell the sendmail program to just queue the messages instead of deliverying them immediately using the delivery mode switch od . If you want to see how that is done, take a look at the sendmail_message_class of this package: http://www.phpclasses.org/mimemessage Anyway to get it without signing up? There is CVS mirror here. Just follow the instructions for accessing this project by CVS, except that instead of pulling the specified modules, pull only the module mimemessage. It's probably less trouble than signing up the site though: http://www.meta-language.net/download.html#cvs -- Regards, Manuel Lemos PHP Classes - Free ready to use OOP components written in PHP http://www.phpclasses.org/ PHP Reviews - Reviews of PHP books and other products http://www.phpclasses.org/reviews/ Metastorage - Data object relational mapping layer generator http://www.meta-language.net/metastorage.html -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: bulk emailer
hi [Sat, Mar 12, 2005 at 08:42:15PM -0300] This one time, at band camp, Manuel Lemos said: Hello, For starters, just stay away from SMTP based solutions if you can. It works but it takes much longer to queue messages that some alternatives because you need to deal with TCP overhead, which is silly when your MTA is in the same machine. The best alternative is to inject the messages in the local mailer queue and tell it to no start delivering the messages immediately. If you can use sendmail (or exim ) there are some switches for the sendmail command for that purpose. Using qmail or postfix does not require any switches. i have sendmail on this system. anyone have links on how to inject messages into the local mailer queue? In any case, you may want to try this MIME message composing and sending class. It provides several means to optimize bulk deliveries, personalized or not. You can pick a sub-class to optimize deliveries for the MTA that you use. There are sub-classes for mail, sendmail (or exim or postfix), qmail, SMTP or Windows pickup folder are supported. Regardless of which you use, always call SetBulkMail() function before start looping deliveries to your users. If you are not personalizing message, you can tell the class to cache message bodies between deliveries to avoid message regeneration overhead. If you want to personalize messages, you can even use Smarty as template engine to speedup personalized message generation. There are several examples to demonstrate this: http://www.phpclasses.org/mimemessage -- Regards, Manuel Lemos PHP Classes - Free ready to use OOP components written in PHP http://www.phpclasses.org/ PHP Reviews - Reviews of PHP books and other products http://www.phpclasses.org/reviews/ Metastorage - Data object relational mapping layer generator http://www.meta-language.net/metastorage.html -- Redmond Militante Software Engineer / Medill School of Journalism FreeBSD 5.2.1-RELEASE-p10 #0: Wed Sep 29 17:17:49 CDT 2004 i386 3:00PM up 12 days, 3:57, 3 users, load averages: 0.00, 0.00, 0.00 pgpGc8EWPMzXB.pgp Description: PGP signature
[PHP] Re: bulk emailer
Hello, on 03/14/2005 06:15 PM Redmond Militante said the following: For starters, just stay away from SMTP based solutions if you can. It works but it takes much longer to queue messages that some alternatives because you need to deal with TCP overhead, which is silly when your MTA is in the same machine. The best alternative is to inject the messages in the local mailer queue and tell it to no start delivering the messages immediately. If you can use sendmail (or exim ) there are some switches for the sendmail command for that purpose. Using qmail or postfix does not require any switches. i have sendmail on this system. anyone have links on how to inject messages into the local mailer queue? Usually you can tell the sendmail program to just queue the messages instead of deliverying them immediately using the delivery mode switch od . If you want to see how that is done, take a look at the sendmail_message_class of this package: http://www.phpclasses.org/mimemessage -- Regards, Manuel Lemos PHP Classes - Free ready to use OOP components written in PHP http://www.phpclasses.org/ PHP Reviews - Reviews of PHP books and other products http://www.phpclasses.org/reviews/ Metastorage - Data object relational mapping layer generator http://www.meta-language.net/metastorage.html -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: bulk emailer
quitenme de la lista porfavor quiero salir de aqui -- --- Banco de Crédito BCP - Dedicados a hacerte la Banca más simple. Visita nuestra Banca por Internet http://www.viabcp.com --- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Re: bulk emailer
Manuel Lemos mailto:[EMAIL PROTECTED] on Monday, March 14, 2005 2:05 PM said: Usually you can tell the sendmail program to just queue the messages instead of deliverying them immediately using the delivery mode switch od . If you want to see how that is done, take a look at the sendmail_message_class of this package: http://www.phpclasses.org/mimemessage Anyway to get it without signing up? Chris. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: bulk emailer
Hello, on 03/11/2005 05:48 PM Redmond Militante said the following: i need some advice on making a bulk emailer script more robust. 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 what i've tried: -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 append it to a long strong called $bcc -then i plug the value of $bcc into the mail() command, which is issued only once at the end of the loop This is a bad idea because many mail systems like hotmail will classify as junk messages that do not come with the actual recipient address in a visible header: To: or Cc: . -this method seems to work better, does not take as long, HTML confirmation messages get printed faster since mail() function is only called once at the end of the loop, only one email is sent (with a long BCC field), so it doesn't bog the server down so much problem with this method is: with large result sets (some of my result sets come up with a few thousand email addresses), the BCC field is so large that it is too large for the mail server to send out has anyone done a bulk emailer script to send out mass emails? if you have any advice re: methodology, i'd like to hear it. It depends on what type of MTA. There is no way to do bulk mailing properly and and avoid long waits. You need to send separate messages to each recipient due to the problem mentioned above. For starters, just stay away from SMTP based solutions if you can. It works but it takes much longer to queue messages that some alternatives because you need to deal with TCP overhead, which is silly when your MTA is in the same machine. The best alternative is to inject the messages in the local mailer queue and tell it to no start delivering the messages immediately. If you can use sendmail (or exim ) there are some switches for the sendmail command for that purpose. Using qmail or postfix does not require any switches. In any case, you may want to try this MIME message composing and sending class. It provides several means to optimize bulk deliveries, personalized or not. You can pick a sub-class to optimize deliveries for the MTA that you use. There are sub-classes for mail, sendmail (or exim or postfix), qmail, SMTP or Windows pickup folder are supported. Regardless of which you use, always call SetBulkMail() function before start looping deliveries to your users. If you are not personalizing message, you can tell the class to cache message bodies between deliveries to avoid message regeneration overhead. If you want to personalize messages, you can even use Smarty as template engine to speedup personalized message generation. There are several examples to demonstrate this: http://www.phpclasses.org/mimemessage -- Regards, Manuel Lemos PHP Classes - Free ready to use OOP components written in PHP http://www.phpclasses.org/ PHP Reviews - Reviews of PHP books and other products http://www.phpclasses.org/reviews/ Metastorage - Data object relational mapping layer generator http://www.meta-language.net/metastorage.html -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php