Lyris User's Guide
[previous] [next] [contents]
New in 3.0 beta 5 (v2.548)
Table of Contents
Lyris Email Commands
Web Interface for Users
Server Administrator
Site Administrator
List Administrator
Other Topics
Add-On Packages
Installing and Upgrading
What is New in this Version?
New in release version v3.0
New in 3.0 beta 5 (v2.548)
New in 3.0 beta 4 (v2.547)
New in 3.0 beta 3 (v2.545)
New in 3.0 beta 2 (v2.543)
New in 3.0 beta 1 (v2.542)
New in Version 2.5
New in Version 2.0
New in Version 1.2
Software License Agreement
Frequently Asked Questions

New in 3.0 beta 5 (v2.548)

Here is a summary of the most noteworthy improvements in this version.

Major new features:
* New unsubscribing method which always works
* Password-verified posting
* Timed approval of moderated messages
* Edit moderated messages
* Automated periodic mailings
* Detailed transaction logs
* Web Interface 5X faster with ActiveState's PerlEx
* Automatic email delivery progress reports
* Now much faster at replying to single messages
* New bounce mail processing method that is extremely accurate

Significant features:
* Easily delete all members on a list
* New ways to view members
* Admin "delete *" command
* Date: header rewriting for moderated messages
* Bounce report handling now much faster
* Regular expressions for action phrases
* Admin "which" command
* Can now set the moderated message default approval time
* "Password Required" lists now assign a random password to email subscribers
* Automatic detection of Lyris Virtual Servers
* Ability to view just List Admins in web interface
* Ability to specify exceptions to the new Loop Breaking feature
* Majordomo Import Program

Important Changes:
* New serial number scheme
* Member importing sped up by 10X
* Email confirmation for private lists now includes request message
* Ability to clear log
* Action phrases can now search just header
* Held notification now more helpful
* "Out of office" postings now rejected more helpfully
* Action phrase notifications more helpful
* X-Lyris-Type header added
* Login password now blanked
* Autoresponders now log their usage, helpful for billing purposes

Here is a detailed list of the improvements in this version:

Major new features:

New unsubscribing method which always works: With the old version of Lyris, members needed to forward a list posting to the unsubscribe address for it work in a foolproof manner. However, some people did not understand what "forwarding" was, and instead sent new blank messages, and this was only as foolproof as unsubscribing with other list server packages (ie: a changed address can confuse the list server) With this new version of Lyris, if you use the $subst('Email.Unsub') mail merge tag (it is in the default footer), each recipient will see a unique unsubscribe email address, which works specifically for their address. For example, for a list named "jazztalk", the unsubscribe address for a member might be "". This method is 100% fail-safe, as it automatically unsubscribes member "1505" when a message is received at this address, no matter what email address sent to it. The last letter ("P" in this example) is a "check character" and protects against forgeries -- if the letter is incorrect, the email acts as if it was simply sent to "leave-jazztalk". Thus, only the actual recipient of the message will know what unsubscribe address to email to, and thus Lyris can know exactly what member should be unsubscribed. This new feature means that to unsubscribe, members no longer need to forward a list posting, but can rather send any email to their unsubscribe address and it will work perfectly. In addition, Lyris automatically detects accidentally quoted unsub addresses in list postings, and converts them back into the mail merge tag, so quoted unsub addresses do not cause the wrong email address to be unsubscribed. The $subst('Email.Purge') tag, for unsubscribing from all lists, also supports this new fail-safe technique. See Unsubscribe.

Password-verified posting: A new posting option to require users to include their password in the body of messages they send to a list -- thus positively confirming their identity. This feature gets rid of the "spoofing" problem inherent in email, where someone can tell their email client that they are someone else, and thus impersonate that person. This feature works equally well with announcement lists as with discussion lists. With discussion lists, you also have the option of requiring all users to have a password in order to post, or just requiring users who have a password set to use it -- this way, user can choose how much security they want. See Password Required.

Timed approval of moderated messages: Added ability to schedule moderated messages for release, to 10 minute accuracy, using the web interface and with a "moderate ID time CCYY/MM/DD HH:MM" command. For example, "moderate time 105 6:30" and "moderate time 106 1998/06/23 18:00". See Moderated Messages. See View Message to Moderate .

Edit moderated messages: added web interface ability to edit a moderated message, including all the text in the header and the body. See Moderated Messages. See View Message to Moderate.

Automated periodic mailings: New "moderated message resubmit" feature, so that a message, when approved, is automatically resubmitted for automatic approval after a set number of days. This allows you to have messages which are periodically mailed to your mailing list on an automatic basis. See Moderated Messages. See View Message to Moderate .

Detailed transaction logs: Added a transaction log for every incoming and outgoing mail. This can be viewing in the web interface, and gives you great detail about what a particular email message has done. This feature is very useful in tracking down "mysteries" where it isn't clear to you why Lyris did something that it did -- the transaction log for that message will usually explain why Lyris did what it did. See Incoming Mail Information and Outgoing Mail Information.

Web Interface 5X faster with ActiveState's PerlEx. The ActiveState product "PerlEx" increases the speed of the Lyris web Interface on NT by about 5 times, works with Netscape, Microsoft and O'Reilly web servers, and costs only $395. For Unix users, the changes we have made for PerlEx will also help if you use mod_perl. ActiveState has a free evaluation of PerlEx -- see To enable Lyris for PerlEx, here are the simple steps: first copy the lyris*.pl files from your \lyris\web directory to the \perl5\eg\perlex\demand\ directory, then rename to lyris.plx, and finally, use your web browser to access http://localhost/perlex/demand/lyris.plx. The first time lyris.plx loads, it will take a long time (about 15 seconds) and thereafter, page reloads will be under a second!

Automatic email delivery progress reports: New feature sends "email delivery progress report" to the administrators of the mailing list to report on the progress of individual message delivery. The report tells you exactly when your message was queued for delivery on the mailing list, how long it took, how many people received the message, how many people need further retries, and when the next retry is scheduled for. You can elect to receive a report after the first attempt, the last attempt, every attempt, or just the first and last attempts. The setting to enable this feature is in the "list info" page, and the email is sent to list administrators set to "receive admin mail". This feature is especially useful for very-important announcement lists, where you are very interested in being informed about how your list is performing, and who has received your message. See Delivery Reports.

Now much faster at replying to single messages: A new, faster way of handling single messages has been implemented. Previously, single messages (such as "welcome to this mailing list") were saved to the outgoing mail database, and sent there. This meant that the single message might take a few minutes to be sent if the mail queue was especially busy. It also made the outmail* database files grow quickly on busy servers. The new implementation of these one-off messages sends the message in-memory, during the actual processing of the incoming message. This means that single email requests are replied to almost instantaneously, and the sender gets a result in under a minute in most cases. The single message is only saved in the outgoing mail database if there is a transient mail sending problem which prevents it from being sent at that moment. In addition, there is a setting in "server config" to turn off this feature, if you do not want it, but it is on by default. See In-Memory Processing.

New bounce mail processing method: previously In past versions, Lyris would embed unique tags in the message header (and optionally, in the body) of outgoing email, and these tags served to identify the recipient of the message. Thus, when a bounce report came back, about 80% of the bounce reports included a copy of the headers of the message, and Lyris could identify the cause of the bounce by reading these unique tags. This technique was already much more effective than the techniques used in other list servers, which attempt to read the English-language description of the bounce (an independent audit found that technique to be 40% successful). Beginning with this version of Lyris, every single member has their own custom bounce address, which looks like this: Because every member has their own bounce address, and every message is sent with that unique bounce address, when Lyris receives an email message to this address, Lyris can be certain which member caused the bounce (because no other member sees this special address). This is a very simple, but highly effective technique, which Lyris is able to accomplish because it has own built-in email server, which is closely tied in to the list server logic. With this version, bounce message processing in Lyris now attains a near-perfect accuracy rate. See Fast Bounce Handling.

Significant features:

Easily delete all members: Added web interface option to delete all members from the list in one quick pass. See Delete All Members .

New ways to view members: added ability in the web interface to view members that are "digest" or just 'nomail" or whatever subscription type you want. See Selection Type.

Admin "delete *" command: to purge a member: the administrator email command: "delete" can now take "*" as a list name, so that a email address is removed from all lists that they are on. For example, "delete *". See Delete.

Date: header rewriting for moderated messages: Added a list setting, which determines whether moderated messages should have their Date: header rewritten to the date/time that they are approved, rather than displaying the original Date header of the time the message was composed.. Also added a feature in the moderated message approval web page which sets this on an individual message basis. See Rewrite Moderated Date: Header and View Message to Moderate..

Bounce report handing now much faster: A new, faster way of handling email bounce reports has been implemented. Previously, all bounces were saved in the incoming mail database and processed. Now, bounce mail is automatically processed in memory, so that it is much faster, and does not use up disk space. In addition, Lyris caches in memory the email addresses who have sent bounces that day, and automatically discards (during the SMTP session itself) excess bounce reports, further improving performance. These improvements keep the "incoming mail" database (inmail.*) from growing because of error mail. In addition, there is a setting in "server config" to disable this feature if you do not want it, but it is on by default. See Fast Bounce Handling .

Regular expressions for action phrases: Action phrases now support regular expression for matching text. To specify that a given action phrase text is a regular expression, you surround the text with / characters, as in: /regexp/ (Note: regular expressions are a sophisticated mathematical description for text matching patterns). A complete description of the regular express syntax in Lyris is available here: See Phrase.

Admin "which" command: Admin email command to determine what mailing lists a member is on: this is done by specifying an email address after the "which" command (after a login command), like so: "which email-addr" See Which (for admins).

Can now set the moderated message default approval time: Added the ability to schedule approval of moderated messages as a default time for a list, previously this time was always midnight. See Release Time.

"Password Required" lists now assign a random password to email subscribers
When a mailing list is set to "Password Required", if a person subscribes to the mailing list via email, Lyris will now assign the person a password, and notify them of it. The password is an easy to remember "adjective-noun" combination. If the person subscribes using the web interface, they have to define their own password on the subscription form. See Password Required.

Automatic detection of Lyris Virtual Servers
If you use Lyris to create multiple sites with different hostname (ie: virtual servers), the Lyris web interface will now automatically determine what site the person is requesting. Previously, the site name had to be set in the site= setting of the lyris.plc or in the requesting URL. Now, Lyris compares the host name of the web server request with the host names defined for the Lyris sites, and displays the matching site. Note: this feature requires that your web server support the HTTP_HOST environment variable, which many servers do. If your server does not, this feature will not be able to work.

Ability to view just List Admins in web interface
In the members page of the list administrator web interface, you can now obtain a listing of just the list administrators for a mailing list. See Selection Type.

Ability to specify exceptions to the new Loop Breaking feature
The new Email Loop Breaking feature in Lyris keeps track of how many message From: one person have gone to each To: address, and sets a limit on the daily number. You can now specify exceptions to this feature. For example, if you have a script which generates many commands from the same email address each day, you can put an exception in for your script, and still retain tight control over breaking mail loops. To use this feature, specify either to sender or the recipient address, or specify a sender/recipient email address combination by putting the "sender-recipient" together on a line, separated by a dash. You can specify as many exceptions as you like, each on a separate line. See Loop Exception.

Majordomo Import Program
A program to import Majordomo "config" files and create Lyris lists and list administrators is now available. Please see:

Minor Features:

New mail loop prevention technique: Added a new failsafe loop breaking mechanism, and the ability to set the amount of mail from/to the same recipient before loop break comes in. This is in the server config page. See Loop Exception.

Ability to delete individual log entries: Added web interface way to delete individual log entries, and groups of log entries. See Server Admin Log.

Remove HTML Codes in email: A new Lyris extension is now available to remove all HTML codes from an email message. See

New mail merge tags: added mail merge tags for member.comments, member.additional and member.userid mail merge tags. Mail merging can also handle multi-line inserts. See Member Fields.

For programmers, added an IdReset() command: we added an "IdReset()" command to LCP (and the Perl toolkit), which resets the internal Lyris IDs. This helps programmers add items directly into the Lyris databases, when those items require unique IDs. After calling &IdReset, Lyris will determine the next available ID for a record by looking at the existing data (the ID.DBF table is no longer used, and is now gone). See the programmer's guide at for more information.

For programmers, added MemberDeleteAllInList(): command &MemberDeleteAllInList("listname"); will very quickly delete all members in the list See the programmer's guide at for more information.

Important Changes:

New serial number scheme: when you receive your Lyris serial number (or upgrade an existing Lyris server), you need to register your serial number and TCP/IP address at our web site to receive an activation code for your machine. This activation code works as your serial number used to, except that the activation code only works on that TCP/IP address: an activation code for one machine cannot be used on multiple machines. We apologize for the slightly increased work that this new scheme may cause you, but we needed to implement this technique due to problems we've had with people running many Lyris servers with only one purchased license. See Activation Code.

Member importing sped up by 10X: This version speeds up member creation in the web interface and command-line by 10X, and also ads an option in import scripts to not check for dupes, which speeds member importing up by an additional 35%. On a Pentium 133 running Windows NT, importing 500 members previously took 440 seconds, and now takes 35 seconds. See Create Many Members.

Email confirmation now includes message: For admin confirm lists (lists which are private), the email notification now includes the message that was sent as the subscribe request See Subscription Security. See Subscription Security.

Ability to clear log: Added way to clear log from command line, with the "dblogcreate" command. See Database Operations.

Action phrases can now search just header: Added option for action phrases to search only in the message header, or "not in" the message header. See Create Phrase.

Held notification now more helpful: The "you have been held" notification email messages to members who have been held now includes a copy of the most recent bounce report, so they can see what the problem is and take it to their email administrator as proof that there is a problem. See Hold Users.

"Out of office" postings now rejected more helpfully: Messages identified as error mail are no longer be quietly rejected -- they now cause a error message to go back to the user. For example, if "OUT OF OFFICE" in the subject of a posting, Lyris will send a message back to the sender indicating that the message was rejected, and with a copy of the posting, so that they can resend it.

Action phrase notifications more helpful: The action phrase notification message now returns header and body of the message that matched, and transaction log also tells what matched. See Response Document.

X-Lyris-Type header added: Added a X-Lyris-Type header to all individual Lyris messages sent, which helps users understand why a message was sent to them, and also helps with automated filtering by email client programs.

Login password now blanked: The password setting in the "login ...." command is now blanked out as "login XXXXX" in all incoming email, and also in all correspondence that includes the body of the message (such as "Re: your admin commands"). This improves the security. See Login.

Autoresponders now log their usage, helpful for billing purposes
Previously, Autoresponder usage was not logged in the Lyris log. Now, their usage is logged, as well as the size of the message sent, and who it was sent to. This is helpful for list hosting facilities who want to bill for autoresponder usage. See Server Admin Log.

Less Important Changes:

List owners can bypass cross-posting limitation: and can always cross post, regardless of list posting. The "prevent cross-posting" feature continues to work as before, and applies to all list members except for the list administrator. See Allow Crossposting.

For programmers, added MemberBatchAdd command: Added LCP command &MemberBatchAdd(%attribs); and improve user import programs to take advantage of it See the programmer's guide at for more information.

Owner-listname mail more descriptive: owner-listname mail now indicates what list the message was for at the top of the message. See The List Owner Address.

Mail stats page more helpful when no stats available: Changed the mail statistics page so that it says that there are "no statistics available yet" rather than a blank page if there is not statistical data.

Japanese support: Added support to the Lyris web interface for reading message with Japanese language encoding.

Command line "gettcpip" command added: Added "gettcpip" command line command to be told what the first TCP/IP address on a machine is, which is useful when registering your serial number. See Setting Server Options.

Quotation marks forbidden in list name: In the Lyris web interface, you are no longer allowed to create a list with quotation marks in the name. Previously, this was allowed, but would cause problems later on.

Lyris "people" must have unique names: Lyris no longer allows the same name to be used for multiple "people". Previously, you could do this, which could lead to confusion.

Removed "dbpack" command: dbpack was removed from lyris command line, as dbupgrade is better in all cases

Unique IDs handled better and faster: Changed ID management system so that ID table is not used any more, speeding up a number of operations by 3X (such as full text indexing). This change will only be visible to programmers, but will make many parts of Lyris run faster.

Lyris Perl Library now friendlier to programmers: several changes were made to to make it more friendly to Perl programmers using eval{}. Our thanks go to Leroy Lefman for his code change suggestions.

Log entries now sorted numerically: Changed web interface log view page so that log entries are viewed in reverse chronological order, as opposed to the not-intuitive ordering of the previous beta

Topics must have unique names: Web interface fixed so that you are now not allowed to create duplicate topics.

Topic description now used in web interface: Topic descriptions are now displayed in the main web interface menu, previously the Topic name was displayed. See Topic Description.

Better checking of header overrides for valid settings: Web Interface now requires that the list settings To: & From: & Reply-To & MAIL FROM: must contain an email address. See From Header, Reply To, To: Header, and Mail From.

Moderated message viewing shows Date: Moderated messages, when viewed on the web, now include the date header.

Better logging of action phrase activity: Action phrase rejections now log what word was the rejected phrase in the transaction log. See Incoming Mail Information .

Ability to disable logging: In Server Admin/Server Config, added web interface ability to disable logging. See Enable Logging.

Added "activate" command line option: added "lyris activate" command line synonym for "serial", "lyris serial" is now obsolete. See Setting Server Options.

Increased incoming mail load capability: Increased the number of simultaneously processed incoming mail from 5 to 20 threads to better accommodate the new in-memory mail sending feature

Bug Fixes:

Support for "Opera" web browser: Fixed a Lyris web interface bug when using the Opera web browser to edit settings. Opera treats carriage returns differently than IE or Netscape.

Recip. merge tags: Fixed a bug in the previous beta which prevented the $subst('Recip.FirstName') and $subst('Recip.FullName') mail merge tags from working correctly. See Recipient Fields.

lcppass command now case-sensitive: "lcppass" command line option sets password with case preserved - previously set it to all lower case. See Setting Server Options .

ODBC driver now can change data: The Lyris ODBC driver now works correctly with Lyris from Microsoft Access -- previously, you could view data, but some tables would not allow data changes. This was due to a bug in MS Access, which could not handle blank TRUE/FALSE fields, and the new Lyris works around this limitation on Access. See Lyris ODBC Driver.

Various news group problems: Fixed problems with Internet Explorer using Lyris secure newsgroups. Previously, IE had trouble if a member belonged to some lists with a password, and some lists without a password. Now, we work around this limitation in IE by always asking for a password. Note that Lyris auto-detects between the Netscape and Internet Explorer browser, so that Netscape users can still enjoy the password-requested-on-demand feature that Netscape offers.

Netscape news posting warning: Fix a bug when posting to newsgroups which gives an error message with Netscape browsers, even though the post worked

Mail merge confusing in the error mail report: if multiple people could not receive an email message, the error mail report substituted the wrong mail merge fields in -- it substituted the first member's data for all the delivery reports, and this could be confusing to the recipient of the error mail report. See Error Mail.

"add" command notification: Fixed a problem where the admin "add" command fails on dupes (as it should), but sent failure report back to the user rather than to the admin. See Add.

Out-of-order sorting of outgoing mail display: Fixed a problem with the outgoing mail log where IDs were sorted alphabetical, not numerical, resulting in an occasional out-of-order sorting. See Outgoing Mail.

Archive Date: importing problem with some archives: Fix archive import program problem where Date: was the first line of the message -- date was not being correctly read in this case

Other pages which link to this page:
  • What is New in this Version?
  • Page 497 of 556