Welcome to the
www.dtp-aus.com ListMerge script - version 2.0
IMPORTANT
INFORMATION THAT MUST BE READ IF YOU WANT TO USE THESE SCRIPTS
The program "LSTMRGE.CGI" was written (c) by Ron F Woolley, Melbourne
Australia. Copyright 1998'99 2000. This script can be altered for private
site use or commercial site use, EXCEPT THAT: Australian copyright is recognised/supported in over 130 countries... The code, scripts and associated files REMAIN the property of Ron F Woolley. NO PROFIT what so ever is to be gained from users of these scripts for installation of these scripts, except that a reasonable minimal charge for installation MAY be allowed. Supply, per installation, is directly from dtp-aus.com ONLY. Remote hosting of this program/resources is strictly not allowed. Installation on anothers behalf of altered ListMerge code or copy of parts of ListMerge code is strictly forbidden. Ron Woolley, the author, MUST be notified via the addresses/URLs below if any charge is to be applied for the installation of these scripts. NOTE: If you use these files, you do so entirely at your own risk, and take on full responsibility for the consequences of using the described files. You must first agree that Ron Woolley / HostingNet, the only permitted supplier of this and/or accompanying files is exempt from any responsibility for all or any resulting problems, losses or costs caused by your using these or any associated files. If you disagree with ANY of the included requirements, you must IMMEDIATELY DESTROY ALL FILES. This programs scripts are free to use - Copyright notices must remain visible as is. This programs scripts are free-to-use, but if you use them, a donation to
the author would be appreciated and help in continuing support for
ListMerge and the creation of other scripts for users of the internet.
These
files can only be obtained via the above web addresses, and This program is written to be compiled by Perl versions 5+ on Unix servers
major** Version 2.0, March 4, 2000 **changes ABOUT Users of E-Lists prior to v2.0 will need to upgrade E-Lists also REQUIRES UNIX and SENDMAIL! Please give us feedback on the new options of v2.+ as this is a very different program than the earlier versions and your comments would be appreciated... we know there has been a large number of regular users waiting. ( version 2.0 major upgrade ) ListMerge has ONE main requirement for names of original lists that it copies. They MUST NOT contain an hyphen character "-", also called the "minus sign". upgrading - see below ListMerge has always created its own safe copies of E-Mail lists. Two new list formats have been added to v2.+ The lack of HTML code in the texts saving HTML box in the "sending" window will cause the program to send only plain text e-mails OR all can be overridden to send only HTML e-mails. It is expected that a site is tidy with all mail list saving programs saving to the one directory (preferably secure as a sub of the true cgi-bin). ListMerge is pointed to this directory and attempts to detect the format of the lists it finds with file name extensions matching those in the new $elst_exten variable. ListMerge then looks for any delimiters in those lists matching the new @seps array. A list with a delimiter matching the default $sep variable between fields in the original list will be treated as an E-Lists or ennyForms saved list with possible "name" and "date" and "htm" fields saved with the "address". Lists with other delimiters from other porgrams will be recorded as "address only" lists with the new format marker of "5'. Plain address only lists will be recorded with the original (earlier versions of ListMerge) format marker of "3". These marker values can be changed - but only IF really necessary. A marked list of "3" can be changed to "5" even if the original list contains possible user "htm" fields (E-Lists v2+ and ennyForms) to slightly speed up the mailing process BUT only do this if the first fields of each record in the original list are addresses! ListMerge v2+ allows the sending of test mails to the default site address of one plain text letter and one HTML page formatted letter - if the latter has been saved via the texts saving form. All relevant files are supplied in one compressed .zip file that includes the recommended directory structure. It is assumed that the Zip file has been uncompressed to the root directory creating the default directory structure included in the Zip file, and described below. A utility to create the default recommended cgi-bin subdirectories, file names, plus chmod permissions is included. ListMerge is designed to bulk mail to elists.cgi created e-mail lists, AND/OR basic address-only e-mail lists. All you need for the latter is the list(s) file name extension and directory path where all lists reside. ListMerge previously read information from the E-Lists config file and enable the additional merging of list member names and subscription dates - if those extra options were enabled in E-Lists. Now ListMerge attempts to detect the list type without reading the E-Lists config set up. Which ever list types are used, it is assumed that all e-mail lists reside in one directory. By command, ListMerge creates a copy of original lists leaving the originals secure, keeps track of addresses not yet mailed to in a session, and allows for updating of new subscribers should any appear in the original lists before the current mail-out is completed (this latter option can be slow on very large lists). For each original e-mail list found on your site, three files are created. One is the above mentioned copy of the original, and another is the data and texts associated with each list. Therefore the body text, a header or introduction text, signature text, the 'from' address, the 'Subject' line, and an HTML page can be created differently for each list. ie one might be in reference to price list upgrades with a 'from' address for sales@yourdomain.name and another for a monthly newsletter 'from' editor@yourdomain.name.... blah blah. Once the mailing of all addresses for any list is completed and another later mail-out is ready, ie once a month or when a new upgrade is to be announced, the ListMerge copy of addresses can be recreated (over written) with the latest version of the original list (with new additions or deletions). NOTE: Very large mass mail-outs should only be performed by a dedicated mail server. If your lists become so successful, consider leasing one for your business. The basic cgi methods of sending mail are inefficient for very large mail-outs on shared servers, and some programs including ListMerge offer an option to send mail in blocks to reduce the load on the Mail Server of your Hosting service. You control the mail-out quantity by 'batch' sending Because ListMerge records addresses sent and those not sent (ready) per session, if the server is very slow you can return anytime later and continue where you left off with the next 'batch' without having to remain logged on while the full list is exhausted. If the program is "time terminated" by the server - the most common reason for mailing crashes - the last successful mailed address is recorded allowing you to continue again with possibly only one address sent twice.
Your Domain.Name No List viewing. Why? ListMerge not only mass mails to e-mail list addresses, and allows "batch" mailing to appease the wrath of mail server hosts, but the program also "merges" names and dates into each letter...
ListMerge can detect the E-Lists formats and enables the "merging" of E-List's fields into your mail outs for a simple but effective personal touch. With or
Without E-lists
SAFE "Batch" Mail-List MAILING Wherever your lists are situated ListMerge creates safe copies of the originals and works the mailing from them. ListMerge has the very rare but immensely popular facility of allowing you to send only the number e-mails you think/know your mail server can handle at one time. Then the program is ready to send the next batch and so forth until the current mail out is complete. Because ListMerge keeps track of which addresses have been sent and which are ready to send, during a mail out the list copy can be refreshed with new arrivals without upsetting the "sent" tracking. With the "batch" method employed, addresses canot receive extra copies because the program knows where it left off. You have to reset the list when later ready to perform another mail out! Each mail list Listmerge copies is acompanied by a data file that holds the letter information and texts and/or HTM page sent to each address in the list. The "sending and editing" admin page includes areas for entry of the From Address, Subject wording, Organisation name if desired, Header portion of the letter, Main body portion of the letter, Signature portion of the letter, AND a complete HTML page. An unsubscribe URL should now be included by you NOTE: LnkinLite is ideal for creating permanent or temporary "named" hyperlinks that can be quickly created, generated and copied into your mail letter. This way not only subscribers can be given a special hidden html page to view, but responses can be judged by LnkinLite's link-click counting feature. Already described above, if ListMerge detects the E-Lists file format when mail lists are saved with the subscribers name and subscription date then ListMerge can add that extra info to each letter by a simple process of you including field markers in the head/body/signature/HTML areas of the letter. And as already mentioned each list accessed by Listmerge retains its own letter data file, so at the next mail out the new body text can be edited from the previous and perhaps the head and signature sections left as is.... designed with the user in mind. Resetting or refreshing of each list is perfomed on the first admin page. Each list name is dsiplayed and from there the individual letter data and "batch mailing" form is accessed. The program has an in built password administration page for changing your desired GMTime zone, admin page access password, and a further encrypted password authorising editing changes and mail-outs. Therefore, even if another person discovers your 'access' password in the browsers cache (all generated pages use the no-cache meta-tag), they cannot change or send any data, and if remote from your server loft, the prefered remote time is reflected in all output AND now displays your local time in the visible e-mail header in standard email time format!! The cgi-bin directory and any subdirectories of it should be protected from user access by system default, so they are an ideal place for maximum security (nothing can be done if your server is hacked into). the programs can access info files, but files cannot be accessed from outside. Upgrades ALL FILES have now been renamed EXCEPT for the data files. So by first backing them up and then later "copy and pasting" the previous texts in to the new text windows the new data files can be (MUST BE) recreated with little fuss. ListMerge has ONE main requirement for names of original lists that it copies. They MUST NOT contain an hyphen character "-", also called the "minus sign".The rest of the program has been completely renamed except for the password file, so the old version can remain until confident with v2.0 - list data files are incompatible. For INTERMEDIATE installation experience - Help / Advice information is available. GMT TIME ZONE reference - set via ListMerge pages. ListMerge now takes advantage of the GMT method for all visible e-mail headers too. Most home / business computer systems have the GMT value listed in the system clock control panel... simple. The calculation is also simple. Your local GMT time, multiplied by 60, and multiplied by 60 again. ie 10X60X60. Therefore my variable entry is "$gmtPlusMinus = 36000". If your GMT zone is a negative value, simply include a negative value ie "$gmtPlusMinus = -36000". If you want the dates/times to be the same as the servers, simply enter the value for the servers GMT zone. US AND BRITISH DATE reporting CHECKING FOR CORRECT REFERRERS - this can block even YOU... "Bad Referrer"
('www.yourdomain.com','yourdomain.com','000.000.000.000',). Leave out the IP# if you do not have a true domain name with a static IP#. "www.ahost.net/mysite/" etc will also work for second level site calls etc, but not the IP#. If your scripts are called from the cgi-bin of a domain that is housing your site and your specific scripts are in that domains cgi-bin, you may have to include the cgi-bin also in relevant urls ie: "ahost.net/cgi-bin/". At this point I will bring your attention to the semi colons ( ; ) appearing at the end of each line in the config files. These MUST remain else an error will occur. PATHS TO FILES ACCESSED BY SCRIPTS For some servers, a simple relative path called by a script is unacceptable, so an absolute path relative to the sites root directory must be called. There are also variations to this description but "web/yourdomain/yourdirectory/jimbo.htm" (example only) is a relative root path description that works on many servers. Another root path is "/home/yourdomain/www/yourdirectory/jimbo.htm". If you have trouble with accessing the default simple relative paths included in the 'lmrgeset.pl' file, try the root reference ie "web/yourdomain/cgi-bin/mrglists/mrgml.pw" etc. If this is still a problem, look in any installed scripts on your server for a reference, or contact your hosting support staff. NOTE: If you have problems, double check ALL permission's (below) before changing the default paths, unless you know in advance what the paths should be, and reload files to double check that you used ASCII transfer mode for all text files. "SENDMAIL" MAIL PROGRAM server path $mailprog ADMIN Password $adminword_pth GMT Path $gmt_pth CONFIGURATION Path $cnfg_pth The DATA FILES DIRECTORY $mrgdatdir_pth DEFAULT MAIL ADDRESS $deflt_mail RETURN PAGE URL $hm_url FULL URL to LSTMRGE.CGI $theScrpt ACCESS PASSWORD $theword ISO CHARACTER SET $ISO RECOGNISED RECORD FIELD DELIMITERS @seps - original lists The MAIL LISTS DIRECTORY $mailistdir_pth ORIGINAL LIST-FILES File Name Extension
$elst_exten ADDRESS,NAME,DATE SEPARATOR $sep SETTING UP and USE INCLUDED or REQUIRED FILES ListMerge has ONE main requirement for names of original lists that it copies. They MUST NOT contain an hyphen character "-", also called the "minus sign". SAMPLE FILES CHANGE THE SAMPLES NOTE: It is common-sense to aslo ALWAYS add your self to all real mail lists so you will receive and see just what your subscribers are getting!! USING THE SAMPLES Create some texts (garbage will do), from address, subject line, add some HTML code etc and save the data. Use the "TEST" form to send your self a test letter of plain and HTML letters. If all goes well, set the "Batch Number" to 2 or 3, enter your admin password and click on the form button. If all goes well the script will find, talk to and send 2 or three e-mails to you (because the list contain your addresses). If they arrive without error then all should have been installed correctly (the time it takes for mail to arrive to yourself can be instant or minutes - this depends entirely on the Host Mail Server and Receiving Mail Server). Now you can send another two to check that the numbers displayed are incrementing/decreasing correctly. There are four simple test texts supplied you can copy and paste into the text saving box for each test list you want to use. They are not brain intensive but will do for test purposes. Depending on the traffic pressures on the Host Server, and to some degree whether they have a separate server for e-mail, you might have to wait a minute for just one e-mail to be sent whereas at other times it will be quicker even if you are sending fifty at once etc. When all have been sent and received, try changing the texts and successfully saving changes several times. Close the window and come back a few minutes later and view the edit/send page again to make sure all changes appear as you would expect. DON'T forget you have to refresh a list with the first page "New" option to start again once a mail-out is complete. You can try the above with all the lists as most have different formats and this will check the ListMerge parsing of the originals. On the left of the second form on the first page are the last counted number of subscribers (recounts every time the first page is accessed). When the list has changed (subscribed to or UN-Subscribed to) the counted number will appear in red. This will indicate changes during a mail-out too (if batches are used) allowing you to use the "u/d" update option that will add new addresses to the current ListMerge list from the master (but not remove deleted ones). For very large lists this can be a bit slow so perhaps only use this if many addresses have been added to the original master list before a mailout is complete. DELETING THE "BOX WIDTH" OPTION As a simple guide you can preset for your own preference, I have included a variable "box width" (40 to 66 characters) that helps by allowing you to hit the enter key just once as your lines approach the right hand window limit, forcing the lines to wrap with easy visual control. ListMerge will detect single and multiple hidden enter key characters and send your texts accordingly. SIMPLE PREVIEW HTML ENTRY BOX If there is no HTML text then only the plain text message etc will be sent. HTML PAGES NOTE: The merging field markers appearing above the message box can be included in the HTML pages as well as the message, header, signature boxes; BUT if using wysiwyg editors then you may have to manually change ISO characters (< and >) to the hard coded << >> characters. See the supplied simple sample htm page text. QUICKEST MAILING The "Stay Alive" button may or may not help if you experience too many Browser Time-outs. With this option selected the program attempts to send back a single invisible character every 50 letters. Please give us feedback on this and other options of v2.+ as this is a very different program than the earlier versions and it would be appreciated. That's just about it. Repeatedly reset (using the "new" radio button again) and send the sample addresses to yourself until you feel confident, and then create the ListMerge copies and data files for any real e-mail lists you have, ready for transmission. If you see the displayed number of records on the left of each original e-mail list name appear in bold (view sample html), you will know that the list has received new additions since you last updated the copies because the totals will be different. If a mail-out is not yet complete you can select the second radio button (u/d) to add only those new additions without resetting the list - if you would like to include them in that current mail-out. NOTE: When a list is renewed (via a "new" radio button), all addresses are reset to the 'not sent' state, and doing this before a mail-out is finished will cause multiple e-mails to be sent to many recipients with possible nasty comments and requests for un-subscribing! We all hate what appears to be mass spamming. The "update" buttons allow safe inclusion of newly added addresses during a mail-out session ie between batch sending. INSTALLING THE PATH TO PERL SCRIPT and FILES PERMISSIONS UP LOADING FILES (Posting) CGI-BIN permissions are set by the server and no attempt should be made to change them. Should you have to use another directory, AND your server allows the execution of Perl CGI scripts in other directories, then that directory should be set with read and execute permissions - chmod 755 (r+x). By far the biggest problems faced when installing scripts are firstly the file transport encoding used and secondly the permissions settings set for both files and new directories. Bitmap images must be sent to the server using the "Binary" protocol. Text files, ie html pages, CGI SCRIPTS and require files, MUST be sent in "ASCII" format. Failure to do this will result in a server failing to recognise and execute the scripts. Although often referred to as programs, scripts must be compiled before they do anything. As an example, files with the .EXE extension on programs that are installed on Wintel machines are pre-compiled binary executable programs. Perl scripts on the other hand are compiled in memory by Perl each time before they can be executed. The script (text) must be in ASCII text format for the interpreter to be able to read it. CALLING THE SCRIPT from a hyperlink I REPEAT: Up load scripts and other text files as "ASCII" files, images as "Binary". So, assuming the default directory
structure is used, you will up load into:
If you must use another directory for the ??.set files, you must also change the path to those files at the top of the code in lstmrge.cgi. ie:: #--- Alter these two paths (TWICE EACH) only, if needed!
-----# To help keep the program free, we need your support on link and resource listing sites! UTILITIES Webmasters Page - the
2 methods to Admin NOTE: You cannot access the program via a browser command line OR a link on a remote copy of a page containing the access link... this includes YOU! UTILITY testbin.cgi The new version of tesbin.cgi attempts to ascertain server paths to all Perl versions and paths to Sendmail. Either or both of these may not be listed depending on server set-up. Testbin.cgi also now allows you to check your path to perl by attempting a mail out. To do this change in the code near the top the URL to the testbin.cgi program. So! UTILITY makedir.cgi
Try installing and running this script first. It will report success or failure when creating the files/directories and prove the correctness of your Perl Path", plus indicate that the default relative paths will work OK. If the default urls/paths are not used, then you will have to change them first. To use it, make sure the "Perl Path" at the top of the script is correct. NOTE: the default Dir/File permissions are set to 766. Change these values to 777 if your site so requires BEFORE running the script. If running the script is successful, you only have to FTP your supplied files over the new empty ones. (note: for security reasons, makedir does NOT prepare an empty file for the cgi scripts, you must upload them (as ascii) and set chmod 755 your self) Once run, delete the file immediately because it has no input protection and could be run again by some low-life wanting to cause mischief. If by chance you select the wrong values and you are locked out of directories, simply change the chmod values and re-run. So! Place "makedir.cgi" in your cgi-bin directory and chmod 755 (7=r+w+x, 5=r+x). Then run from a browser command line, ie: http://www.yourdomain.path/cgi-bin/makedir.cgi Enjoy - & please let me know
how you get on with this script, how/what server type it installed to. |