Knowledgebase: Mailing Lists/SmartList

Can SmartList handle a very large subscriber list?
SmartList is capable of handling subscriber lists upwards of 90,000. However, there are a few things to be aware of:

1 - A large list will take hours to send out, on occasion even over a day, this is not due to SmartList capablities, but to the nature of sendmail and procmail and the handling of bounced mail.

2 - It will generate a correspondingly large volume of bounced mail. This bounced mail may need special handling not to choke the list admin's mail box.

3 - It is a good idea to refer to the list's documentation and to the SmartList mailing list and archives for information on handling the hugh volume of bounces and for optimization tips for large lists before setting out. The needed documentation can be found at http://www.hartzler.net/smartlist/SmartList-FAQ.html

[ Back to Top ]


How do I customize a SmartList autoresponder?
User can do this part in a SSH session on server:

upon subscription:
~$ cd /home/$user/$domain-mail/$list
~$ ../.bin/led subscribe.txt
[make changes]
<:wq>

upon unsubscription:
~$ ../.bin/led unsubscribe.txt
[make changes]
<:wq>

How to edit lines printed by *program* upon subscription/unsubscription. This, the server owner does, in SSH session:

upon subscription:
~# cd /home/$user/$domain-mail/.bin
~# ./led subscribe
[find and edit the line]
<:wq>

upon unsubscription:
~# cd /home/$user/$domain-mail/.bin
~# ./led subscribe
[find and edit the line]
<:wq>

[ Back to Top ]


How does SmartList handle bounced mail?
Bounced mail is usually directed to the "request" address of an existing list and is therefore processed with list/rc.request.

[ Back to Top ]


How do I setup a mailing list?
How do I set up a new mailing list?

1 - Go to your Control Panel

2 - Click on the Mail Manager

3 - Create a list in Mail Manager by clicking on "New List".

4 - Add the name of the list. You'll get a message giving you instructions on how to subscribe to the list.

5 - After reading this click Home on the left hand side.

6 - Click on the name of the list and you'll see the following:

Maintainer email address:

Maintainer's password:

The maximum number of emails that can be stored in archive:

After you input and edit the maintainer information and click edit you will get the following message: Now, modify '/home/delta/deltafarms-mail/test/rc.custom' file. Done This file doesn't need to be edited, it is just informing you that it has been edited. Your list is now created.

[ Back to Top ]


My list sends unevenly. What could be the problem?
A certain amount of erratic behavior is par for the course with lists. Unfortunately this does not depend on how our servers are performing. The behavior of the list is dependent upon all servers the list is being sent to. For example, one ISP bouncing too many messages can affect the whole list (as it 'clogs' the sending server).

We will definitely work with clients to ensure that our server is functioning properly and that the server is sending out the list. However, optimizing the list itself so that it goes out as quickly and smoothly as possible is the job of the client. For some suggestions, see KB article "Can SmartList handle a very large subscriber list?" When you are having problems with a list, you can get information about the nature of the slowdown using these commands in ssh:(~$: is the command line prompt)

1 - ~$: tail -f /var/log/maillog

Run this *while* the list is sending. This will show you how sendmail is handling the mail. (use control - C to quit)

Look for messages like:

stat=Sent (AAA09275 Message accepted for delivery)
stat=Sent (Message received: 7727432D137.AAA37F4)

These messages come from the receiving server.

2 - ~$: mailq

Run this a day or two after the list is sent. This will tell you all the mail that's in the queue, which usually @includes a lot of lists. The messages are actually generated by the recipients' servers which have been asked to receive the mail but are saying "no."*Deferred means the mail could not be sent and sendmail will try again. Sometimes the server on the receiving end is down or busy or full. After a pre-set number of bounces, smartlist will unsubscribe such an address. Refused means that the other server is actively blocking the mail. You could ask the recipient to contact their ISP; sometimes servers will block *all* lists as spam except upon explicit request by one of their customers.

Look for messages like:

(host map: lookup (ingramo.com): deferred)
(Deferred: No route to host)
(Deferred: Connection timed out with hannal.wncc.nwe.us.)
(User unknown)

Finally, although we would not offer technical support on these, there are programs out there similar to "choplist", which split large mailing lists into smaller segments and send the smaller segments. Choplist is the program that SmartList uses to handle this and is considered by most to be the best. The other programs available to handle this function have their own pros and cons. You might wish to look into these to optimize your lists' performances, but remember that to switch from choplist to something else involves programming, ie altering SmartList code to call your program instead of choplist.

[ Back to Top ]


My list's log file is full. How do I fix this?
Sometimes the /home/username/domain-mail/.etc/log fills up with 'From' headers from bounced mail that are just the list address, also /home/username/domain-mail/listname/bounces/ fill up with message id's that contain only the list address. This is caused by the list maintainer address being the same as the listaddress. The solution is to Look in 'rc.custom' located in /home/username/domain-mail/listname/. Near the top of the file look under 'maintainer='. If this is the same as the list name then there is the problem. To solve: In a browser, go into http://domain.com/menu and click on the listname in mail manager and change the maintainer address.

[ Back to Top ]


How do I send mail to the list?
To send email to the mailinglist, write to the following address:

To: listname@domainname.com

[ Back to Top ]


How do I updates, change, and administer the list?
Through the control panel you will need to use the mail manager to administer the files associated with SmarList.

[ Back to Top ]


Where would I find user support for SmartList?
SmartList Archives: http://www.cnr.berkeley.edu/~casterln/smartlist-arc/maillist.html

The FAQ is available in html and text format at http://www.hartzler.net/smartlist/

[ Back to Top ]


How do I administer a SmartList?
The Mailing List Manager (Xcommand), available from the Mail Manager allows the administrator of the list to:

Show List of Subscribers
Show List Log
Wipe List Log
Search list of subscribers for a near match
Directly subscribe/unsubscribe a user

You can get to the Mailing List Manager by selecting the list from under 'Edit List' in the Mail Manager, then selecting 'Mailing List Manager'. You will need to know the Maintainer email and password to administer the list. The results of the commands will be sent to the list maintainer's email address.

[ Back to Top ]


How do I create a moderated list?
Please use the Control Panel mail manager to edit lists.

[ Back to Top ]


How do I create only a subscriber list?
Please use the Control Panel mail manager to edit lists.

[ Back to Top ]


How do I setup a newsletter using SmartList?
Below are instructions for creating a newsletter manually. We do not recommend that you do this unless you really know what you are doing! We cannot support manually-created newsletters. When you use SmartList to send out an electronic newsletter, you limit the submissions accepted to yourself, and tell SmartList not to accept "foreign" submissions. Anyone who signs up will still receive the list but now cannot send to it.

If you want all your lists to be newsletters, edit the rc.init file rather than the rc.custom file below.

For the list "listname":

1 - Create the list via the mail management utility; http://$domain.com/menu
For the rest of these steps, you will need to SSH to server:

2 - Edit the rc.custom file (in /home/$user/$domain-mail/$list):
type at prompt ($:) cd $domain-mail/$list
type at prompt ($:) vi +/foreign rc.custom
delete the ##s in front of the second foreign_submit line by typing 'x' over each one type: :wq
(If editing the rc.init file, also place a comment (#) in front of the first foreign_submit line; the one with the 'yes'.)

3 - Delink the distribution file from the accept postings file:
type at prompt ($:) ../.bin/delink dist

4 - If there are already subscribers to this list, then remove non-posting addresses from accept file, else just add authorized poster's address to accept file:
type at prompt ($:) vi accept
move cursor to beneath the line at start of file
type: ndd (where n is the number of lines you wish to delete)
continue until all addresses are gone
type: addresses of those authorized to post to list, one per line
type: :wq

When these steps are completed, those authorized to post may send to the list by e-mailing to $list@$domain.com. If anyone else attempts to mail to the list, it will be sent to the list maintainer rather than the list. Since the owner, and those he/she authorizes, are now the only addresses in the accept file for the list, no other submissions will be accepted. NB: editing the rc.init instead of the rc.custom file means that all lists created thereafter will also function as newsletters.

[ Back to Top ]


How do I subscribe a list of contacts I already have?
The 'dist' file is the distribution list -- the list of recipients. To add a pre-existing list of recipients, copy it into the dist file:

/home/username/domainname-mail/listname/dist

You can add a short list by hand or by cut-and-paste. For a really long list, you may want to download the dist file, edit it using a word processing program, save it
as text or ASCII, and then upload the edited file.

The following conditions apply:

One subscriber per line.
Empty lines are allowed.
The mail address of the subscriber must be the first word on the line.
Comments may follow the address (but separated from the address by at least one whitespace character).
Everything preceding the line containing:
(Only addresses below this line can be automatically removed)
is write-protected from changes (i.e. these addresses can never be automatically/accidentally unsubscribed).
If the line:
(Only addresses below this line can be automatically removed)
is not present at all, automatic unsubscriptions to this list are impossible.
New subscribers will always appear on the line immediately following the last filled entry in the dist file.

Some sample entries (the preferred format):
joe@some.where
joe@some.where (some comment)
joe@some.where (some comment) (some more comments)

Depreciated, but allowed:
<joe@some.where>
<joe@some.where> some comment
<joe@some.where> (some comment

Not allowed:
(some comment) joe@some.where
some comment <joe@some.where>

Note: adding to the dist file for a list automatically adds to the accept file as well, unless you have turned off foreign submissions.

[ Back to Top ]


How do I subscribe to a mailing list?
How do I subscribe to a list?

From email:
To subscribe to the mailinglist, simply send a message with the word "subscribe" in the Subject: field to the -request address of that list.

To: listname-request@domainname.com
Subject: subscribe

To subscribe to the digest:
A digest sends all messages at once, in one big message, rather than sending each one individually.
To subscribe the digest, simply send a message with the word "subscribe" in the Subject: field to the following address.

To: listname-d-request@domainname.com
Subject: subscribe

[ Back to Top ]


How do I unsubscribe from a mailing list?
How do I unsubscribe to a list?

From email:
To unsubscribe from the mailinglist, simply send a message with the word "unsubscribe" in the Subject: field to the -request address of that list.

To: listname-request@domainname.com
Subject: unsubscribe

To unsubscribe from the digest
To unsubscribe from the digest, write an e-mail like this.

To: listname-d-request@domainname.com
Subject: unsubscribe

[ Back to Top ]


How do I view the email addresses of those subscribed to my list?
In order to view the email addresses of people who have subscribed to a particular mailing list, in a SSH session, you need to:

1. Change directories to, "/home/$user/$domain-mail/$listname".

~# cd /home/$user/$domain-mail/$listname
~# ls

2. Cat on the dist file

~# cat dist

NOTE: never remove the line that says, 'addresses above this line can't be unsubcribed' or something simular; also leave the $list-d user subscribed or messages will not get to the digest

[ Back to Top ]


What does it mean to uncomment?
These instructions are to be carried out in a SSH session. A comment is a line of text that a human can read but a computer ignores. To uncomment means to delete the # or ##'s in front of a line of code, which "activates" or "turns on" whatever the code does.

If there are two lines in rc.custom, always uncomment the second line.

TO UNCOMMENT IN RC.CUSTOM

Step 1: Go to the file

type at prompt: cd /home/username/domainname-mail/listname
type at prompt: ../.bin/led rc.custom (The 'led' editor is a special vi editor session that prevents use of the list until editing is complete.)

Step 2: uncomment

search for line to be uncommented and delete ##'s then write and quit;(:wq).

Example:

BEFORE:

#foreign_submit
##foreign_submit = yes # uncomment this line if you
# want to restrict submitting to
# people on the accept list

AFTER:

#foreign_submit
foreign_submit = yes # uncomment this line if you
# want to restrict submitting to
# people on the accept list

**Note, the second line is uncommented.

[ Back to Top ]


© 2003 Burningbulb.net