Automatic resend e-mails using CSV file and placeholders

Hi Everyone,

since few days I`m searching for some open source tool which will help me to send out 3.2mln customized e-mails.

From other department I have got CSV file (list of the clients) with 3.2mln of clients. One line, one client.


  1. Campaign with cusotmized placeholders imported from csv
    I would like to create some campaign with template and text with placeholders inside.

For example:
Dear [firstname] [lastname]

…thank You for your interesting of [product]…

  1. Is it possible to import all users from such a CSV files and control subscription ? I mean if user will click unsubscribe then next time will not be informed.

  2. Is there any PHPList linux command line which will help me to automate this process. I would like to create few compaigns and from time to time some one will send CSV file to specified folder, PHPlist will import it and deliver all e-mails to all users listed in the CSV file (with checking which user subscribed campaign). Each time number of users in the CSV file is changing, so system should sync list of users.

Is it possible to build this kind of solution with PHPList ?

Thank You in advance for any support.


Yes – you can import the subscribers and their attributes. For such a large list you may need to split the CSV into smaller files and import them one by one. You can choose whether they are imported with their subscription confirmed or unconfirmed. Add the price, offerdate, and product as attributes before you import any files. The ID is considrerd a foreignkey – that is a key from another source.

To send a campaign to that many subscribers will require optimisation of your systems and proper SMTP server config.

You can set the same camapaign to automatically requeue at regular intervals. It will only send to the new subscribers on the list.

You should be able to script phpList to import automatically but I haven’t personally used this from the CLI. See and experiment with the import command. Please report your success back here!


thank You for Your feedback.

Today I will build QA environment and we will start tests. Why should we split CSV files ?
Do You think that it could overload DB ?

Regarding SMTP - we have a proper configured gateway.

Most of the departments from the company where I`m working would like to send campaigns using simply CSV file. They simply transfer file to proper location and system delivering all messages automatic. This is my target, to build this kind of solution with PHPlist.

Thanks again for Your feedback.


File split may be necessary due to file size, or because of slow import speed of Web interface. Perhaps not, just a heads up.

Good luck and let us know how you get on. Pull requests and bug reports are welcome.