I searched this board and while this question has been asked, it doesn't seem to have been answered so far.

And if anyone can answer it well enough to make it work for me, I will contribute $50 in your name to the project as a sign of appreciation.

I have a client with an email list that has 45k subscribers.

I use shared hosting that allows this program to be installed but the hosting company does not want me to send more than 100 emails per minute (and I am sure that phpList allows you to limit the send rate to 100 per minute, right?)

So with the client's sole hosting account, it would take 7.5 hours to send out an email to their subscribers. Really long time, eh?

However, across all of the hosting companies other servers, I have a total of twelve accounts. So that means when I send out a message, I could, in theory, use the SMTP server for each of them to send 100 emails each minute, and it would take 38 minutes to send to the entire list.

By default, PHPlist does not allow for this type of functionality. This would require custom programming. If you're interested in paid custom programming, you can either submit a request for paid support from the developers, or if you like, I'd be happy to provide you with a quote to provide you with the services myself.

I created a structure using the "/admin/class.phplistmailer.php" and "/config/config.php" files.

It new structure do not send to Multiple SMTP Servers Simultaneously but it sent to various SMTP Servers sequentially, one server each time that one email is prepared to get sent.

With those new modifications you can choose how many SMTP Servers you will use to sent out emails with PHPList.

Se bellow my new "/config/config.php", I think that you will understand what are the modifications that I do on those files. The code is commented.

Will it solve your problems? If yes, please let me know.

Thank you,Rodrigo

# If you want to use the PHPMailer class from phpmailer.sourceforge.net, set the following# to 1. If you tend to send out html emails, it is recommended to do so.define("PHPMAILER",1);

# To use a SMTP please give your server hostname here, leave it blank to use the standard# PHP mail() command.define("PHPMAILERHOST",'domain.com');

# if you want to use smtp authentication when sending the email uncomment the following# two lines and set the username and password to be the correct ones$phpmailer_smtpuser = 'login';$phpmailer_smtppassword = 'password';

# To use MULTIPLE_SMTP_SERVERS set the number of servers here.# It just will work if PHPMAILERHOST is set and if you set the $phpmailer_smtphost_N and $phpmailer_smtpuser and $phpmailer_smtppassword# If you don't want to use it, leave it blank to use just one SMTP server or PHP mail() command.define("MULTI_SMTP_SERVERS",'3');

# to avoid overloading the MULTIPLE servers that sends your email, you can add a little delay# between messages that will spread the load of sending# you will need to find a good value for your own server# value is in seconds (or you can play with the multi_autothrottle below)# remember multi_autothrottle will be used after pass into all the multi server structuredefine("MULTI_SMTP_SERVERS_MAILQUEUE_THROTTLE",'1');

Hi rodrer,It looks like what you've made is exactly what I'm looking for, but I'm confused as to how you set it up. What files do I need to add the code to and how can I specify, for example, to only send 200 emails per SMTP server (if that is even possible).Hope you can help!

The problem with this solutions is that every SMTP connection must wait the end of the prior connection to SMTP to try to send emails again, I'm trying to make some changes on the file /admin/processqueue.php to create some kind of MULTI_THREAD without the use of SO resources, just using PHP.

I'm working on this issue and as so possible I'll put it here.Excuse me but I'm working a lot of.

When I set my config.php to use PHPMailer and set define("PHPMAILER",1);, I've noticed that most of my emails weren't being sent. The same is the case when I define PHPMailer to 0 and instead use my SMTP settings to send via Gmail.

I continued to have problems sending to my 2,700 mailing list even after reducing the size of my batch emails to define("MAILQUEUE_BATCH_SIZE",100); define("MAILQUEUE_BATCH_PERIOD",1);. I also experimented with other batch sizes, but it made no different.

Since I'm on a shared hosting and not on a dedicated server, my hosting has a daily limit of 100 emails per hour, which is probably why using PHPMAILER doesn't deliver all of my messages when my batch size is more than 100 per hour. Since my mailing list is 2,700 I wouldn't want to use a batch of 100/hr because it would take more than 24 hours to deliver my messages.

As an alternative, Gmail provides a daily limit of 500 emails per day when using their SMTP. However, using this option would take me 5 1/5 days to send all 2,700 messages.

So, what are my other options to deliver all my emails in a timely manner? Do you recommend that I use a 3rd party SMTP service that can bypass my hosting's & Gmail's SMTP and send more than the quota will allow? If so, which SMTP services do you recommend?

I'm trying to use this feature rodrer posted but it's not working for me.

Do I have to just replace the existing /admin/class.phplistmailer.php for this code rodrer posted without any modifications? That's what I did and results in a blank page when I try to access phplist.

I DID modify the config.php file as he explains but the problem resides in the class.phplistmailer.phpDo I have to modify the code he posted with some values? I really can't understand the comments in class.phplistmailer.php and they might explain what (and how) I should modify the code.It seems like cotoneal could make this work, how did you do it? in which version of phplist? Any tips?

I am using right now version 2.10.12, this feature would really enhance the power of phplists.

Any tip would be apreciated!

EDIT: I did now understand how to do it, I replaced just the code rodrer posted and continued the normal class.phplistmailer.php after the ... (I'm a bit stupid sometimes)It's working now but looking at the event log I don't understand why It works like that. I thought it would be sending in batches of x and using one smtp server on each batch. This would make the script faster cause it's a little bit slow (I was sending at 2600p/h and now 1300).

The problem with this solutions is that every SMTP connection must wait the end of the prior connection to SMTP to try to send emails again, I'm trying to make some changes on the file /admin/processqueue.php to create some kind of MULTI_THREAD without the use of SO resources, just using PHP.

I'm working on this issue and as so possible I'll put it here.Excuse me but I'm working a lot of.

Hi,

Did you manage to send message without delay?I need to use 3 smtp servers at the same time to send my mail list in reasonable time...

I'm just trying out multi SMTP and have not changed anything in class.phpmailer.php file but only in the config file.

I specified three working smtp servers separated by ; in PHPMAILERHOST along with port, TLS, user and password and it does work.

What im not sure is if it actually uses the three smtp servers because I created 5 campaigns from a single user and when i processed the queue I only see traffic on the postfix logs on one f the three smtp servers. two others are quiet.

I'm using 3.05 by the way and I really appreciate some guidance here. If you could, please shared with me the actual files you have that gets multi smtp working.

My email address is <Removed by Mod. Never post your email address in the clear in any forum to help avoid spam bot harvesting>

Thanks in advance to anyone who could help get this load off my server and my mind!