Virtual users

Virtual users are now fully supported. If your system has virtual users, you will need to read over the following sections to insure compatibility.

Stub programs
Virtual user specific settings

Stub programs

tmda-cgi uses a "stub" program which converts the output of a virtual user information package into a format that tmda-cgi can handle. In other words, you must have the appropriate stub program for tmda-cgi to work on your system.

The current tmda-cgi release includes the following stubs:

  • vpopmail1 - compatible with vpopmail (version 5.2.1)
  • qmailuserassign - compatible with qmail's (version 1.0.3) users/assign file

If you use a different program to handle your virtual mail system, you will either need to write a stub (they're pretty darn simple) or work with one of the developers to get one written. Either way, you'll want to contact the developers on the tmda-workers mailing list so that your new stub can be included in future releases.

If you have a listed virtual mail system, but the version you are using is different, try picking the stub with the closest version number. We don't have a good way to test these stubs against every version ever created, so there's no saying for sure whether your version will work or not. If you can't find a stub that works, you will either need to write one or work with one of the developers to get one written. Either way, you'll want to contact the developers on the tmda-workers mailing list so that your new stub can be included in future releases.

If you wish to write your own stub, see tmda-cgi/stubs/vpopmail1.py as an example of what data will be provided and what data should be returned.

Virtual user support must be configured when you compile tmda-cgi. You will be asked for a "virtual user stub and parameters". For vpopmail, this is typically:

vpopmail1 /home/vpopmail/bin/vuserinfo ~

vpopmail1 is the stub name, /home/vpopmail/bin/vuserinfo is the vpopmail program which provides user information, and ~ means to pass the login name in as the first and only parameter to vuserinfo.

For qmailuserassign, this is typically:

qmailuserassign /bin/grep ~ /var/qmail/users/assign

If you use a different stub or keep vuserinfo located somewhere else, you will need to specify a different string.

Virtual user specific settings

To support virtual users, you will need to make sure you have set various virtual user specific configuration settings correctly. Here's a list of some things to check before installing:

There are a few other virtual user specific settings, but these are the ones most likely to need adjusting.