Newsletter is a free and simple tool intended for website, web community or web portal owners, wishing to send email newsletters to their subscribed users.
This software runs directly on LAMP servers. It does not provide a GUI of it's own, but is intended to be controlled via webinterface.
The newsletter to be sent is constructed by submitting a template text file, which is then personalized by taking the according information directly from the website's database (only MySQL is supported at this time). The result will afterwards be sent via SMTP protocol through a locally installed mailserver.
Please note, that newsletter is not intended to be used for sending spam and therefore is designed in a way, to prevent this kind of usage, by making an own mailserver mandatory.
Here are some key features of "Newsletter":
· Detach from controlling terminal (so it can be started from a PHP webinterface).
· Allows for fully customized mail
· Mail is sent via SMTP through a local or remote MTA
· Stop and continue operation
· Logging of progress
· GNU make, groff, gzip
· Linux (v2.4.20)
· libgdbm (v1.8.3)
Building and installing
Compiling the program should simply be a matter of doing:
Instead of "make install", one may want to build RPM packages. A specfile can be found in the data/dist directory after the first successful build.
A sample config file and email template can be found in the data directory. Assuming the default configuration, connect to your database as database admin, and create a new database "px":
mysql> create database px;
Next a new user "px" will be needed:
mysql> grant usage,select on px.* to px@localhost identified by 'px';
Now disconnect from the database and reconnect with the new user. Generate a new table named "px", containing at least the two columns "mail" and "name":
mysql> create table px (email blob, name blob);
Fill this table with some data e.g.:
mysql> insert into table px (mail,name) values ("firstname.lastname@example.org","John Doe");
mysql> insert into table px (mail,name) values ("email@example.com","Jane Doe");
Of course you should use some real addreses, pointing to a mailbox, you own here.
Now it's testing time:
./massmailer -c massmailer.cfg -t testmail.txt -l result.log -s $USER
Check your mailbox. If you've got mail, you may delete the testdata now.