Home / Tech / Computer Software / The Bat! FAQ
The Bat! Mailing Lists/Discussion Lists


  The Bat! Mailing Lists v4.0
By Leif Gregory

This how-to is current to the capabilities present in The Bat! v1.54b10




What this how-to is for

Many moons ago I migrated from Eudora Pro to The Bat! because Eudora was seriously lacking in the filtering capabilities to run even the most simple mailing list. I publish a weekly newsletter called PCWize, a newsletter about computers and the Internet, and severely needed a good way to automate the subscribing and unsubscribing of people. After installing The Bat! and setting it up for my mailing list, I began to notice that with just a couple of more macros that didn't exist, The Bat! could be configured as a full blown mailing/discussion list server. I e-mailed RITLabs about my findings with detailed plans of how it could be done. Amazingly, RITLabs e-mailed me a brand-spanking new binary the very next day with my proposed changes. I set up a list, and then asked if they wanted me to run a discussion list about The Bat! for people using it. They wholeheartedly agreed and TBUDL was born. The list ran great, but I soon ran into the only true limitation of hosting a discussion list on a home machine, and that was that I couldn't keep up with list traffic due to my pitifully slow 28.8 Internet connection. If only then I had access to DSL or Cable Modems and their inherent persistent connections, I could have done a much better job.

Eventually, a helpful subscriber to TBUDL offered to host TBUDL on a true list server, and then after some problems with them later, Syafril took over the job of hosting all the TB lists on his server.

At any rate, I wrote v1.0 of this how-to for mailing lists which was a huge boon to other users of TheBat! who also wished to run discussion lists. Unfortunately, since I was no longer actively running a discussion list, I had a very difficult time adding and making changes to this document. Eventually, I broke it, and ended up answering tons of questions by users setting up lists according to my instructions. That was when I hit upon the idea of setting up a The Bat! hosted discussion list for The Bat! List Hosters (TBLH) (click on it to subscribe). Now, not only do users wanting to set up lists have a place to discuss problems and solutions with other list hosters, I also have the means to model this document on the actual TBLH list. This means that now, when a user downloads and installs the list account, it *will* work! 

This biggest change in this how-to is the fact that now almost every template is stored in it's very own text file in the default directory of C:\Program Files\The Bat!\MAIL\tblh\Includes. Since all the templates are in one place and easily accessible, you won't have to hunt around through the myriad settings to find and change everything to suit your particular list.


What is a mailing list?

There are basically two types of mailing lists. The first is a distribution type, and the second is a discussion type. The distribution type is basically a list where you are providing information in one direction. Typical lists of this type are announcements, newsletters and well, SPAM. These lists are very simple to set up, as about the only thing you have to do is to create an address group with all of the recipients in it, and you'll only need filters 2, 3, 4, 5, and 8. A discussion list is quite a bit more complex to set up. Basically, people send posts (e-mail) to a single e-mail address (your list address), and from there the post is processed and then sent to everyone in an address book group. The complexity lies in setting up the Reply To:, From:, POP3 accounts etc.


General setup for discussion mailing lists

The easiest way to run a list is to have a separate POP3 account, and as a major plus a forwarding e-mail address (This is a really nice option to have. If you have a forwarding address set up, the e-mail address that subscribers will Un/Subscribe and send posts to will never change. So if you change POP3 servers or give the list over to someone else because you've decided you don't want to run it anymore, you will not impact your subscribers.) To find one of these types of services, just type either "free +email" or "free +POP3" in your favorite search engine. One of my favorites (which is completely free and does *not* strip the RETURN-PATH header (you'll read about this problem a little later)) is Subdimension.com

You can set up a discussion list using your existing (main) POP3 account, but it takes quite a bit more work, which I will not cover in this how-to. It will however, generally follow the same guidelines as a stand alone POP3, but your filtering will be a little more complex. 

The ultimate of course is having your own domain name. If you do, and they allow you to define e-mail aliases, then you can create aliases such as:


Then, all you have to do is have your filters filter on the RECIPIENT address. This also means that you don't have to require your readers to put text like "Subscribe TBLH" in the message SUBJECT or BODY. This is by far the most simple method of mailing list management.

Speaking of which, I'm going to jump off on a tangent here real quick and tell you about an awesome free service that can help you if you do have your own domain name. Take a look at MyDomain.com, and sign up for their domain management service. It's completely free and yet offers so much power and flexibility that you can do some really great things with your domain name.

For example, my domain www.pcwize.com was registered through www.register.com. They offer pretty much the basics such as defining the DNS servers which are the authority for your domain name. What MyDomain.com does is that you change the DNS servers with whoever you registered your domain with to the four DNS servers that MyDomain.com provides. Then you add your domain to your account profile with MyDomain.com. From there you can add, change MX (Mail Exchange) configurations, add sub domains e.g. subscribers.pcwize.com, support.pcwize.com etc., and set up all sorts of e-mail aliases. You can even set up e-mail aliases for each sub domain you define e.g. TopDude@support.pcwize.com etc. Also, you can set up what the sub-domains do e.g. redirect or stealth redirect to another site. They also maintain some very good how-to documentation on-line, and if that doesn't cut it, their tech support people are very helpful.

Ok, ending the tangent. I don't get anything for telling you about them, I just think it's a very worthwhile service. Especially for free. Now, back to the how-to.

I am going to define some variables so that the below how-to will be much clearer. Please substitute your actual information for that which I have provided.

  • TBLH - The name of our list. It stands for The Bat! List Hosters.
  • ldgregory@pcwize.com - The list moderator's address (Your normal e-mail address). 
  • tblh@pcwize.com - The e-mail address that subscribers send their posts to.
  • tblh-sub@pcwize.com - The e-mail address to subscribe.
  • tblh-unsub@pcwize.com - The e-mail address to unsubscribe.
  • www.pcwize.com/tblh/faq.shtml - The TBLH Web site FAQ (this document).
  • TBLH - The address book group for normal TBLH discussion list subscribers. If you change this name (you don't have to because nobody but you is going to ever see it), you'll need to change the name of this in the address book as well.
  • TBLH Digest - The address book group for digest version TBLH list members. (Optional)

For example, let's say your list is called BlueDog. You would replace the "TBLH"s in the above variables as well as throughout this how-to with BlueDog. Got it! Great.. Let's continue.


Procedure for setting up the list using a separate POP3 account

First click here to download the TBLH mailing list account that I have created. You will be "importing" this to The Bat! Imported is in quotes, because there is no actual provision under The Bat! to import an account. I'll explain how to get this account installed into The Bat! in just a minute. I have done about 90% of the work for you, all you have to do is replace the "TBLH" information to suit your discussion list, which we will go through step by step.

How to "import" the TBLH account into The Bat!

  1. Go to where TBLH.ZIP was saved when you downloaded it.
  2. Double click the TBLH.ZIP file.
  3. Click the "Extract" button.
  4. In the dialog box that comes up do these two things: The "Extract To" field should be the directory that your accounts are stored in under The Bat! In my case it is: C:\Program Files\The Bat!\MAIL. The second thing is to check the "Use Folder Names" checkbox if it isn't already checked.
  5. If The Bat! isn't already running, start it.
  6. Click "Account", select "New".
  7. In the "Account Name" field, enter "TBLH".
  8. Click the "Next" button.
  9. Put your name in the "Your Full Name" field.
  10. In the "E-mail Address" field put the forwarding e-mail address you set up for your list. If you didn't set up a forwarding e-mail address (You really should use one of these), then put the POP3 e-mail address that you will be using for the list.
  11. The "Organization" field can be left blank or put in the name of your discussion list.
  12. Click the "Next" button.
  13. In the "SMTP Server" field, put whatever SMTP server you will be using. I have mine set up for my domain SMTP server address.
  14. In the "POP3 server" field, put the address of the POP3 server you will be using to collect the list messages.
  15. Click the "Next" button.
  16. In the "Username" and "Password" fields, put whatever your username/login is for the POP3 account you are using in step 14.
  17. The two checkboxes are up to you, but I have both unchecked. If the POP3 account you are using requires APOP, then you need to check this box. For the normal operation of the discussion list, you don't need to keep copies of messages on the server.
  18. Click the "Next" button.
  19. Check the "Do you want to check the account settings now" radio button and click the "Finish" button.

Ok, now that you have "imported" the TBLH account, we need to finish setting it up for your discussion list.

How to set up the account for your discussion list.

  1. Under the "General" sheet, verify that all the information is correct.
  2. Under the "Transport" sheet, verify that all the information is correct.
  3. For the first few weeks of your list's "life", you should check the "Deferred" option in the "Delivery" options on the "Transport" sheet. The reason for this, is that you want to make sure that everything is correct in the outgoing messages to be sent to your subscribers before they get sent.
  4. Under the "Mail Management" sheet, you shouldn't have to change anything.
  5. Under the "Options" sheet, set whatever options you prefer to use. You may want to leave the "Empty trash folder on exit" unchecked for the first few weeks of list "life" also. Sometimes you make a mistake in mail handling, and may accidentally delete a message.
  6. Under the "Files and Directories" sheet, you may have to modify the "Home Directory" depending on whether you specified a different "Extract To" path in step 4 of the "How to "import" the TBLH account into The Bat!".
  7. Click the "+" in front of the "Templates" sheet.
  8. Select "New Message". We are now going to set this template up. Hopefully you have given some thought as to what you would like your messages to look like when you post to your own discussion list. 

    Hello TBLH users,


    %PUT="C:\Program Files\The Bat!\MAIL\TBLH\Includes\Boilerplate.txt"

    %TO="TBLH List <TBLH@PCWize.com>"
    %BCC="TBLH <list>"

    You'll notice the %PUT statement which appends the contents of the boilerplate.txt file to the bottom of every newly created message. The advantage to having this boilerplate is that your subscribers will be reminded each time you post a message to your own discussion list of how to report problems, unsubscribe, and where your discussion list web site or FAQ is. You can make this contain as much or as little information as you want, but I would suggest keeping it short. You can modify the boilerplate to suit your own needs by editing the boilerplate.txt file located in the C:\Program Files\The Bat!\MAIL\TBLH\Includes directory. It's a standard text file so you can edit it with Notepad or whatever. Here's what it currently contains:

    Leif Gregory
    TBLH Moderator

    Report problems to: <mailto:ldgregory@PCWize.com>
    TBLH FAQ: <http://www.PCWize.com/tblh/faq.shtml>

    To unsubscribe, click here:

    Take very careful notice of the two dashes right above my name. Please note that it is '-- ' (dash dash space). The trailing space is extremely important. What this is for, is that TB cuts off any text following the '-- ' when you reply to a message. How this works in your favor is like this.

    You send a message to the list, at the bottom of this message is your boilerplate. Now if you don't have the '-- ', then when someone replies to your message, the boilerplate is quoted along with your message. If that message is then replied to, it gets quoted again, ad infintum. This basically helps you to keep the posts looking nice and clean.
  9. This next block is your macros. Let me show them to you and then I'll explain what they are doing.

    TBLH List <tblh@pcwize.com>"
    TBLH <list>"

    The Bat! requires that you have a valid e-mail address in the TO field to send a message. Putting the discussion lists e-mail address in here serves two purposes. The first is that it looks better than putting in your e-mail address. The second and most important, is that when the message is sent, you will receive it again.

    This sounds stupid, but it is necessary if you wish to verify that your message went out without actually subscribing yourself to your own list, and it allows you to keep the message in its final form just like all the other posts that come from your subscribers. This is useful if you want to create a digest version (which I'll get to later in this article), or if you want to place a searchable message archive on a Web site.

    The BCC field must contain your address book group that has all of your subscribers in it. This is very important. If you put the address book group with all of your subscribers in the TO field, then everyone who is subscribed to your discussion list will see everyone else's e-mail address who is also subscribed to the discussion list. This is considered very bad netiquette.

    Important Note: Just for clarification on the text TBLH <list>-- because I've received many questions concerning it, is that the <list> portion must say exactly that! This is how TB knows that it is an address book group and not a contact. For example, let's say our address book group is called SUBSCRIBERS instead of TBLH. Then the macro for %BCC will look like this: %BCC="SUBSCRIBERS <list>". Notice the address book group name changed but the actual text <list> did not. Your list will not work if you do something like this %BCC=TBLH <TBLH>".

    The RETURN-PATH is very important in that it provides an e-mail address for bounced messages to come back to instead of your subscribers. Trust me, you have to have it in there, I learned the hard way with my lists. Why are there two of them? Well, there's an undocumented feature in The Bat! that allows you to run a macro with a NULL input. What this does is to clear the field so that the second occurrence of the macro can fill it without worrying about what was stored in it previously. This will become much more easily understood when we get to the filtering section (filter six).
  10. Select the "Reply" template. Again, you'll want include the boilerplate to remind the subscribers when you reply to a subscribers post. Here are the macros:

    %TO="%OFROMNAME <TBLH@PCWize.com>"
    TBLH <list>"

    Here's where the NULL value macro becomes a little easier to understand. Let's say "Billy Bob" <bbob@somewhere.com> sends a post. If I want to reply to his message before it gets sent to the list, and send my reply to the list, then I need to change his TO info so that it matches with what we are going to do in the POST filter to all of the messages posted. Namely change the TO, and REPLY-TO information. Again, just hang on a little while and I'll explain this fully in the filters section.
  11. This pretty much concludes the account setup. You shouldn't have to use the forward template, and you can put whatever cookies in the cookies template that you want to use.
  12. One last thing about the account settings. There are seven folders (other than the default ones) included the TBLH account. Here's what they are for.

    ***** Note: If you don't see the below folders, select the TBLH account, then hold down the CTRL-ALT-SHFT-L keys simultaneously. This will force TB to search for any missing folders in that account.

    SPAM - This is the folder that filter seven moves SPAM to. I'm pretty aggressive in tracking down spammers. If you are interested, I wrote an article for my weekly e-zine entitled "To Catch A Spammer".

    Moderated - This is where the messages in their final form (as they were distributed to your subscribers) will reside after filter one processes it.

    Subscribers - This is the folder that Subscribe requests get moved to once filter two has added them to the address book. This provides three functions. One, is that at a glance, I can roughly tell how many people are subscribed to the discussion list. Two, I have a record of subscribes. This way if someone later on says that I am spamming them, I can prove that they (or at least someone pretending to be them) did indeed subscribe, and three, if someone did not use the correct string to subscribe, you can just copy their e-mail address to the clipboard, right click on the "Subscribers" folder, select "Create a new message" which will create a new message with the "Subscription receipt" in it. All you have to do is paste the subscribers e-mail address into the TO field and send it, and of course manually add them to the address book group for your subscribers.

    *** NOTE: I have used text files for inclusion into the templates for both "Subscribes" (both filter and folder), and "Unsubscribes" (both filter and folder) that contain the actual text or the Un/Subscribe. This way, if you make changes, you can do it in one place and it updates both the filter and folder versions. They are located at
    C:\Program Files\The Bat!\MAIL\TBLH\Includes. If you specified a different "Extract To" path in step 4 of the "How to "import" the TBLH account into The Bat!", then you will need to change the directory path in all the templates (both folder and filter) for TBLH Un/Subscribes.

    Additionally, the failure folders and filters include their respective text files located in the same folder as the subscribe and unsubscribe text files.

    Unsubscribers - Serves the same function as the "Subscribers", but is for unsubscribers. If a subscriber messes up the unsubscription process,  then you can cut and paste their address into the "Create a new message" option when you right click the "Unsubscribe" folder, and then manually remove them from the address book group.

    There are actually two more folders (subfolders actually). One is under Subscribers-- called Failures, and the other is under Unsubscribers-- also called Failures. These two folders hold "bad" subscribe and unsubscribe attempts that filters three and five (respectively) take care of. I'll explain these two filters and what they are for under the next section.

The Filtering Sub-system

This is the area that will make or break your mailing list. I highly encourage you to read my how-to called "The Bat! Filtering" before you get started.

  1. While the TBLH account is highlighted, click "Account" and select "Sorting office/filters"
  2. Click the "+" in front of "Incoming messages"


Filter One - Move Moderated Incoming Messages

This filter is a housekeeping filter. Because we are changing the TO header in the "Post" filter (See filter six) to "tblh@pcwize.com" this message is going to come back to you through the normal post e-mail address. You've already processed this message, so you don't want to send it back out to the subscribers again. This is one other reason we are using the RETURN-PATH macro. It is our filter string, whose job it is to move already processed (sent to the list subscribers) messages to the "Moderated" folder (which by the way is where you should make your replies to messages that subscribers have posted.) If you specified a different "Extract To" path in step 4 of the "How to "import" the TBLH account into The Bat!", then you will need to change the directory path in this filter to reflect the actual location of the "Moderated" folder.

What we are actually doing with this filter is searching the kludges for the string [RETURN-PATH: ldgregory@pcwize.com]. This is something we have modified in filter six to solve two problems: The first is bounce messages get sent to the designated address, and two we can use it as our search string, because it will only appear in messages we have already processed.

Of course you could just send these messages to the trashcan, but if you are going to participate in your own discussion list, it is easier to reply to this message than cutting and pasting all their info during the first time it comes through. Also, if you decide later on to build a searchable message-base on a Web site, you will have the message in its final, post filter-processed form.


Filter Two - Subscribes

This filter is the subscription filter. You need to determine what keywords you want to use for your filter string. The easiest, of course, is as I explained earlier by having a separate e-mail alias for unsubscribes like tblh-unsub@pcwize.com. However, if you aren't lucky enough to be able to do that, you'll have to use keywords either in the subject line or message body. The most logical keywords would be something like "Subscribe" and "TBLH". Because not all e-mail clients support the "%20" symbol (a space) when resolving a mailto type URL, and also because some do not support actual space characters, I like to use the underscore character between the keywords i.e. "Subscribe_TBLH". This is a good way to ensure that whatever e-mail client your subscribers may be using, your URL will work. The added benefit of using the underscore character is that it is almost totally invisible in a URL, because they are almost always underlined. An example of this URL that you would put on a Web pages or in the sig portion of your e-mail messages would look something like this:

To subscribe to the TBLH mailing list, click here:

If you click on this link, The Bat! will create a new message with the subject line filled in with "Subscribe_TBLH", now all the prospective subscriber has to do it click send.

If you are lucky enough to have a separate subscribe alias, then none of that applies to you, because you'll only need to filter on the RECIPIENT address (your list subscribe address).

Again, change the filter name and strings to match your list.

The Actions tab is going to let us add the new subscriber to our subscriber address book group. Make sure you change the address book group name to suit your list.

The Send Auto-Reply is where you will tell the new subscriber about the list, what to expect, what e-mail address to use to post messages, some rules (concerning flaming, beating a dead horse etc.), and where to report problems. Take some time to think out what you want to put in here. You can use or modify the sample template I've already created for you to fit your needs. You'll find it as Subscribe.txt in the Includes directory (provided you didn't change the install path when you imported the TBLH account).

If you read the entire Subscribe.txt, you would have noticed at the bottom there was a macro. It was like this:

%SUBJECT="TBLH Discussion List Subscription Receipt."
%FROM="TBLH Owner <ldgregory@pcwize.com>"
%REPLYTO="TBLH Owner <ldgregory@pcwize.com>"

Because this is a new message created by the filter, you should specify a subject to be placed in the SUBJECT field. The TO field will have whatever e-mail address is specified in the subscribers REPLY-TO information. The others are pretty self-explanatory. Just remember, this is a message from you to them, not from the list to them. You don't want to put the list address in the FROM and REPLY-TO, because if they reply to the subscription receipt, you want it to go to you, not the list.

Here's an additional note. I was playing around with a way to include the current number of subscribers in the subscribe receipt. I finally found a way using VBScript and a couple of well placed INCLUDE statements. Here's how it works.

On the Actions tab is the option to Run External Program, and in here I've set it up to run the gain.bat file located in the Includes directory. The batch file calls the SUBCtr.vbs script which checks the SUBCtr.txt file for the current number of subscribers, adds one to it, and then writes it back. Then the Subscribe.txt file INCLUDES the SUBCtr.txt file on a line saying "The current number of subscribers is: xx". It works great, and due to the order of operations in The Bat!, the number shown in the Subscribe receipt even reflects the newly subscribed person the receipt is going to! Cool huh!

Now, the unsubscribe filter has a similar function in the Run External Program action, except it calls loss.bat in the Includes directory, and subtracts a subscriber. The reason for two batch files, is because I wanted only one VBScript to perform both options (it functions based on an argument passed to the VBScript. If there is an argument, it adds a subscriber, if there is no argument, it subtracts one), but I had problems passing an argument from within The Bat!, so I made the gain.bat pass an argument of "1", and loss.bat passes nothing. It's a kludge, but until I figure out a better way, its going to have to be that way.

Maybe you can come up with a better way! <grin>

In filter three we will be weeding out the duplicate subscribers, but it never hurts to make absolutely sure, so that's why we're checking to make sure the address does not already exist in the address book group via the Advanced tab.

Filter Three - Subscribe Failure

This filter's purpose is to catch instances where someone is already subscribed and they try to subscribe again-- on purpose or on accident. It sounds strange but I've had people do it. Another instance is where someone gets impatient and sends another subscribe request because they haven't received their confirmation back from the first one.

What this filter does is to check to see if their address already exists as a subscriber. If it does, then a message is created saying that they are already a subscriber. If they aren't already subscribed, then the filter does nothing. Messages that this filter applies to are moved to the subfolder of TBLH Subscribers.

Make sure you change the filter name in the "Name" field to whatever you wish to call it, and change the filter string in the field "Strings" to whatever you will use as your subscribe filter string.

On the Actions tab, we are specifying that The Bat! send them a message that says something to the effect of "The e-mail address you've attempted to subscribe is already a subscriber. See the Subscribe Failure.txt in the Includes directory to modify it.

This is the real "meat" of our  Subscribe Failure filter. The Advanced tab allows us to enable this filter if the e-mail address is in the address book group for subscribers. Remember, we are playing the True/False game here. We want this filter to be enabled (True) only if the e-mail address already is subscribed. 


Filter Four - Unsubscribes

The fourth filter is your unsubscribe filter. Eventually, someone will want to unsubscribe, so set up this filter similar to the subscribe filter. Of course, you will want to make changes so that it reflects an unsubscribe command (either by a separate unsubscribe address, or by signal strings in the subject or message body). I've included a sample template in the Includes directory for you to modify or use as your see fit. This filter is very similar to Filter Two, but the big change is you're removing (not adding) an address from the address book group.

The Send Auto_Reply is going to send the message contained in Unsubscribe.txt.

We want to make absolutely sure that the e-mail address exists before sending them a message saying we've unsubscribed them, so this filter only gets enabled if their address is indeed in the TBLH subscribers address book.

Remember, filter five is going to weed out bad unsubscribe requests.

Filter Five - Unsubscribe Failures

This filter attempts to intercept unsubscribe requests from addresses that aren't subscribed. This is usually the case when someone forgets what e-mail address they subscribed to your list under and then later tries to unsubscribe under the wrong address. This filter creates a message saying that the address they are trying to unsubscribe with is not a valid one. Messages that this filter applies to are moved to the Failures subfolder of Unsubscribers.

Again, this filter is very similar to Filter Three, so I'm only going to show you the Advanced tab again.


Filter Six - Posts

The sixth filter is the subscriber post filter. This is the real meat of your filtering system, because it allows subscribers to post messages to the rest of the subscribers. The Bat! now includes the capability to ensure that only messages from addresses listed in your subscribers address book group can post to the list. This helps to cut down considerably on SPAM attempts and people you've banned from posting. 

This filter will be set up similar to the Un/Subscribe filters, with the following differences:

Under the "Rule" tab, your first filter string should be the list address, select the "Recipient" location, and presence is "Yes". This is a SPAM measure. Most times when you receive SPAM, the recipient list has been suppressed, meaning your e-mail address is not displayed along with all the other unlucky recipients of the SPAM. So by specifying your list address you will be eliminating a huge majority of SPAM from making it to your subscribers.

The second filter string should be the RETURN-PATH address  select the "Kludges" location, and presence is "No". This will ensure that a new message you sent to the list does not get processed and sent out again. Remember, you will be sending new messages to the list in its final form, you don't need to modify anything in your own messages, therefore you do not want this filter to act on them. Technically, you're messages should never even reach this filter because filter one should have taken care of it, but it never hurts to be sure.

Under the "Actions" tab scroll down till you see "Create a message for", put your name and e-mail address here like this: "Leif Gregory"<ldgregory@pcwize.com

The template for this action is in the Post.txt file in the Includes directory. Here's an explanation of what is going on.

The %TEXT is going to cut and paste the posters text into this message. You don't want to use the %QUOTE macro, because that's not what you want.

The three blank macros "TO, REPLYTO, and FROM" are an undocumented feature in The Bat! What happens when you don't specify any text between the quotes is that it blanks out the field (A NULL value.) Remember when you put your name and e-mail address in the field under the action "Create a message for"? Well, if you don't blank out this field, that info will appear here in addition to the info placed there by the second occurrence of "TO" in the above macro. This is a bad thing. The REPLYTO and FROM fields will contain the information you specified in the TBLH account settings, so we want to blank these out.

Ok, now on to the second occurrences of TO, REPLYTO and FROM. When a subscriber posts a message, and the other subscribers receive it, you want the TO, FROM and REPLYTO information to reflect the person who posted the message. i.e. say Billy Bob <bbob@user.com> posts a message to the list. When a subscriber receives the message, you want the TO field to say "TBLH Discussion List <tblh@pcwize.com>" (unless they were replying to someone's message, then you would want it to have the repliees address here.), you want the REPLYTO field to say "Billy Bob <tblh@pcwize.com> (This is extremely important! The REPLYTO header is the address that is used when someone replies to a message. We want the replies to come back to the list, so that they will get sent to all the other subscribers too. If the replyer wants to send a private message to only Billy Bob, then they should cut and paste the address in the FROM field), which brings up what you want displayed in the FROM field. You want it to say "Billy Bob <bbob@user.com>" (You want the subscribers real e-mail address here-- unless you are running a closed list, then you would make the FROM field the same as the REPLY-TO so that nobody on the list will ever see anyone else's true e-mail address) There is no need to change the way the things are other than changing the e-mail addresses to reflect your list. With that out of the way, let's dissect the macros.

%TO="%OTONAME <tblh@pcwize.com>"    Remember when I said that you wanted the TO field to display "TBLH Discussion List" unless the post is a reply? Here's what happens in this macro. %OTONAME takes all the text except the actual e-mail address i.e. "TBLH Discussion List", or in the case of a reply "Billy Bob" and puts it into the TO field. We are then specifying that the e-mail address be <tblh@pcwize.com>. So the new TO address will be "TBLH Discussion List <tblh@pcwize.com>" or in the case of a reply "Billy Bob <tblh@pcwize.com>" .

%ReplyTo=%OFROMNAME <tblh@pcwize.com> When a subscriber replies to a message, this is the actual e-mail address it will use. We are taking the original posters name and changing the e-mail address so that the reply gets sent to the list instead of the original poster personally.

%From="%OFROMNAME <%OFROMADDR>" Here we are using all of the original posters real information. Their real name and real e-mail address.

%BCC="TBLH <list>" This is your address book group entry. Of course we do not want to show everyone on the list who else is also subscribed to the list, so we put it in the Blind Carbon Copy (BCC) field. This also help to prevent spamming of your subscribers.

Here's where we are validating that this post came from a valid subscriber. This is another Anti-SPAM feature.


Filter Nine - Move sent messages to trash

This is a filter you can do without if you don't want it. However, I would highly recommend it, otherwise the sent posts will accumulate in your "sent" mail folder, and you would have to move them to the trash manually. Please note that this is an Outgoing filter, not an Incoming one.

By setting the filter string to your RETURN-PATH, this ensures that it catches not only outgoing post-processed posts, but sub receipts, unsub receipts, and the failure notices.


Filter Seven: Post Failures

This filter is used to notify a non-subscriber who sent a post to the list that the list only allows subscribers to post messages. It also informs them of how to subscribe, or if they are a subscriber, that they most likely subscribed under one address, and are attempting to post messages under another e-mail address.

In the above, we are making sure that the message was addressed to the list. This is another anti-SPAM measure. We do not want to advertise the list address as being valid to spammers, and since most spam is not directly addressed, this will prevent the list from sending the "You are not a subscriber" message to the spammer). Below we are checking to ensure this filter only gets activated when they are not in the address book group for subscribers. Again, much of what I've done with these filters is redundant, but I've said it before and I'll say it again, it never hurts to make absolutely sure.


Filter Eight: Anti-SPAM

This is the final filter of our incoming filters and takes care of almost all SPAM messages by dumping them into the SPAM folder.

Again, redundancy is the key, we are checking to make sure the message was not directly addressed to the list (or more accurately, to the domain).


Setting up the digest version

Right now, this is one area when The Bat! is kind of weak. I have asked RITLabs to try and work on this area just a little more. I would have included this section in the filters section, but I didn't feel that it has the proper capability to really be used as a digest generator. There is an option on the "Actions" tab for "Export message to file". The problem is that you can either include all of the kludges (really messy looking), or none of the kludges (difficult to reply to people or to see who wrote the message and its subject.) I asked RITLabs if they could allow you to select which kludges to include in the exported message. I think that these kludges are necessary (DATE, FROM, REPLYTO, TO and SUBJECT,). 

If you wish to experiment around with the digest generator anyway, do this:

  1. In the TBLH filters, click the "+" in front of "Incoming messages".
  2. Select "Move moderated incoming messages".
  3. Select the "Actions" tab.
  4. Scroll down till you see "Export message to file".
  5. Put a checkmark in the box.
  6. Click the "Browse" button to the right of the pathname field.
  7. I have already selected the "TBDigest.TXT" file which is in the Includes directory. I'd suggest keeping a copy of all the digests you create for future use (on a web site etc).
  8. If you specified a different "Extract To" path in step 4 of the "How to "import" the TBLH account into The Bat!", then you will need to change the directory path to reflect your directories.
  9. Put a checkmark in the "Append to existing file" radio button.
  10. Exit out of the filters dialog window.
  11. To send a digest to someone (You'll have to do this manually, as there is no way currently to define to TB when to send these digests out.) right click on the "Digest" folder, select "Create a new message". You should be able to just click send from here.
  12. Remember to empty out the "TBDigest.TXT" after sending it, because then you'll just append more messages to the end.
  13. Also remember to set up an address book group called "TBLH Digest" (Or change it to whatever).
  14. Then you'll also need filters to sub and unsub people from the digest address book group.

Closing remarks and how to contact me

Ok, we're done. You have all of the stuff necessary to start your own discussion list. If you have any additional questions or find any faults in this how-to, please e-mail me. I will be glad to answer any questions you may have.



Here are the answers to some common problems people using this how-to have come up against.

The RETURN-PATH doesn't seem to be working / posts that have already been processed and sent out to the list are being treated like new posts when they come back through the system.

Most likely the SMTP or POP server you are using is removing the RETURN-PATH statement from the header. Some are set up this way, and you might be able to get the administrator of that server to change that. If not, then you will most likely have to find a different SMTP or POP server.

To determine which is actually the culprit, create a new message from the TBLH list, remove the addresses from the TO and BCC fields (you might have to enable the viewing of these fields first by clicking "View" in the message editor window and putting a check mark next to them.) Once you have cleared out these addresses, put my address <ldgregory@subdimension.com> in the TO field and send it to me. Of course, please type something in telling me why you are sending the message to me. I'll check the headers, and if it is missing, then the culprit is your SMTP server. I will then send you a reply that has a RETURN-PATH statement in it as well, you check the headers to see if it is there. If not, then your POP server is deleting them as well.



pcwizess.jpg (8520 bytes)

* PCWize Award Winners *
Click either button to see the winners of these awards.

pcwizeww.jpg (8540 bytes)
Copyright 1997-2009 Leif Gregory. TB Community | privacy policy | home | write me | advertise | about