Teamware Documentation : Integrating Qmail with Teamware Office
Contents
1. Introduction
Qmail is a mail server, developed to be a replacement for sendmail. It was written by D.J. Bernstein
(http://cr.yp.to) and at the date of writing this documet, the current release was 1.03.
During the recent years, qmail became more and more used, and therefore appeared the necessity of writing a document about the
possibilites of making qmail and Teamware Office work together.
This document is not ment to substitute the qmail documentation. It is advisable that you learn qmail before attempting to implement
the integration methods described here. For your reference, you will find at the bottom of this document a list of
qmail useful resources.
2. Before you choose to integate qmail with Teamware Office
This is a good moment to think if you really need a second mailserver in your system, beside Teamware Office, and if
you really need to integrate them.
For example, one of the first things that you will notice when working with qmail is the fact that it is not a
DSN-aware mail server. Therefore, you will have to consider this limitation when integrating qmail with Teamware Office.
Using only Teamware Office, or making Teamware Office and qmail work completely separate might reduce the load on your
systems and the administration overhead. Here are a couple of variants you could consider:
-
Using only Teamware Office as mail server, if all or the majority of your users are Teamware Office users. Teamware Office can act
very well as your main mail server.
-
Installing Teamware Office and qmail on separate machines, with distinct e-mail base addresses and public IP addresses. This
is suitable when you can completely separate the mail systems between Teamware Office users and non-Teamware Office users.
The advantage is that mails for each system can be routed by your ISP directly to the right server.
-
Installing Teamware Office and qmail on the same machine, but with no integration between them. Each will have its own
base address and SMTP port, and your ISP could route the mail for each server to the right port directly. As above, this
configuration is feasable only if you can completely separate the mail systems between Teamware Office users and
non-Teamware Office users.
If none of the above can be applied to your system, you will need to choose one of the integration methods presented below.
3. General configuration recommendations for qmail
3.1. How are SMTP requests handled by qmail
Let's have a look at how qmail receives messages through its SMTP daemon, qmail-smtpd. When
a connection request is made on the smtp port, inetd (or a similar daemon, e.g. tcpserver,
depending on your system) checks its security settings and, if the request comes from an authorised host, it
passes the connection to the qmail-smtpd daemon.
Then qmail-smtpd checks to see if the environement variable RELAYCLIENT has been set for
this connection. If yes, it accepts the message unconditionally. If not, it checks if the destination of the message
is a domain listed in qmail's control file rcpthosts.
If the destination domain is not listed there, it rejects the message. If it is listed, it accepts the message.
By default, qmail does not allow relaying. This is a general good practice for any mail server, since servers
opened to relaying are very often used by malicious persons for distributing large volumes of spam e-mails, which
could make your server to be banned by anti-spamming systems, and could even determine your ISP to disconnect you from
the Internet.
When you want to use qmail as an outgoing SMTP server, you have to configure it to allow selective relaying, which
means it will accept to relay messages coming from trusted sources, such as Teamware Office servers in your network.
There are more ways to configure selective relaying. We will present here the most important ones, using
inetd and using tcpserver. Qmail's author, D.J. Bernstein, recommends the second method, since tcpserver is
written by him too. It is easier to configure than inetd and allows more flexibility and increased security. Tcpserver
does not require to remove inetd from your system, they can be used together with no problems. For more details about tcpserver,
please consult http://cr.yp.to/ucspi-tcp.html.
3.1.1. Selective relaying with inetd
First make sure that you have the package tcp_wrappers installed on your system and that it is compiled with extended syntax.
Otherwise you will not be able to set up selective relaying with inetd. If you have problems re-compiling tcp_wrappers
with extended syntax, consider using tcpserver instead of inetd, it might save you a lot of time and effort.
Then insert into inetd.conf (if you don't have it already) the following line:
smtp stream tcp nowait qmaild /usr/sbin/tcpd /var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd
After that, you have to define in hosts.allow the connection rights for the SMTP port. For each
server you want to accept relaying for, add a line like:
tcp-env:1.2.3.4: setenv = RELAYCLIENT
Of course, replace "1.2.3.4" with the correct address of the server you want to enable relaying for.
You can use complete IP addresses, or partial ones. For example:
tcp-env:1.2.3: setenv = RELAYCLIENT
This will make qmail accept relaying for all machines having an IP address starting with 1.2.3. For the servers you want to accept
SMTP connections from, but without relaying, you don't have to declare anything, because the default rule is to accept connections.
3.1.2. Selective relaying with tcpserver
If you don't have it, download and install tcpserver. You can find it at
http://cr.yp.to/ucspi-tcp.html.
In order to start tcpserver, add in your startup file (e.g. /etc/rc.d/rc.local), the following (all in one line):
/usr/local/bin/tcpserver -x/etc/tcp.smtp.cdb -v -u504 -g504 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
or:
/usr/local/bin/tcpserver -x/etc/tcp.smtp.cdb -u504 -g504 0 smtp /var/qmail/bin/qmail-smtpd &
The first example enables logging, and the second one doesn't. Below :
- -x/etc/tcp.smtp.cdb : Represents the rules database for that port. Will explain a little bit later how to create this file.
- -v : Instructs tcpserver to log error and status messages. The default logging level is -q, to log
only error messages.
- -u, -g : The user and group ID to switch to after start receiving data. Replace the values 504 in the example with
the values for the qmaild user and group defined on your system.
NOTE: This is a very important security feature. Many hacker attacks using inetd and/or sendmail are based on the fact
that the entire process of receiving the mail is running under root UID. Tcpserver and qmail are designed to reduce to a minimum
the intervals when programs are run under root UID.
- 0 : The host address on which the daemon attaches. The value 0 means all addresses defined for that machine.
However you can choose to attach the listener only to certain IP addresses. For example, you could have different servers listening
on the 25 ports, each on a separate address. Or you could disable the SMTP port for public address if you want to allow access only
from the internal network.
- smtp : The port to listen to. You can use any literals from /etc/services, or you can explicetly
state the port number (e.g. 25, 2025 etc.).
- /var/qmail/bin/qmail-smtpd : The qmail SMTP daemon. After the connection is accepted by tcpserver, the connection is passed to
qmail-smtpd.
- /var/qmail/bin/splogger smtpd : The logging application. You can use any application you want, and control from
/etc/syslog.conf where log info will go.
To create the rules database (i.e. /etc/tcp.smtp.cdb), create first a file called
/etc/tcp.smtp, which containes lines like:
1.2.3.4:allow,RELAYCLIENT=""
Replace "1.2.3.4" with the IP addresses of the servers for which you want to allow relaying - for example the IP address of
a Teamware Office server. You don't have to specify anything for the servers you don't want to relay for.
Then you have to create the database file /etc/tcp.smtp.cdb with a command like:
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp < /etc/tcp.smtp
4. General configuration recommandations for Teamware Office
Whenever possible, you should consider defining your ISP's mail server as outgoing SMTP server for Teamware Office instead of your
qmail server. Because qmail is not DSN aware, you will not be able to receive DSN reports for your messages if they are relayed through
qmail.
Also remember that if your incoming mail is being delivered to Teamware Office through qmail, for each incoming message that requests
DSN reports the originator will receive a "Relayed to non-DSN aware server" report, and the DSN requests will be deleted from the message
header.
However, you can set Teamware Office to send by default different levels of DSN reports (All or Failure), even if they are not
specifically requested. This is done with the Admin client, Connector for MIME section, Miscellaneous page.
If you are using qmail as outgoing SMTP server, for each outgoing message requesting DSN notifications the MIME Connector will
return a "Relayed to non-DSN aware MTA" report to the sender, after passing the message to qmail.
You can define the way in which these reports are treated, using the deliver_relayed_dsn option in the
[MIME] section of to.ini. Possible settings are:
- deliver_relayed_dsn = 0 (default) : Relayed DSN reports are trated as Teamware Office reports and handled accordingly,
updating the status of the sent message to "Delivered to non-DSN aware MTA".
- deliver_relayed_dsn = 1 : The reports are delivered to the sender as new messages.
- deliver_relayed_dsn = 2 : The reports are discarded.
The last option, to discard Relayed DSNs, is the most suitable when delivering messages through qmail. It reduces the load on
your server, which doesn't have to process this way a new report for each outgoing message requesting DSNs. It will
also prevent the situations when a "Relayed" status prevents the sender from receiving failure notices.
If Relayed DSN reports are discarded, the status of the sent messages will remain on "Sent" in case of delivery success, unless
the destination server is sent to deliver DSN and/or RN reports by default.
Three other configuration paramteres in the [MIME] section of to.ini are recommended to be set. The first is
no_relay = 1. Most important, it prevents your Teamware Office server from being used for relaying
spam e-mails. This way, when receiving messages with recipient base addresses not declared on that server, it doesn't
have to waste more time trying to route the message.
The other two parameters are mode and allow. They define what messages
are accepted by the server, when Teamware Office is configured as if sendmail is not installed on that server.
For mode, possible values are:
- any : All incoming messages are accepted, regardless of their base address.
- list : Incoming messages are accepted only for domains listed after it on lines like
allow=accepted.domain.com. The list should contain the domains for which
that Teamware Office server is defined as a MIME Gateway.
- strict : The server will accept only messages having the base address identical with (one of) the base address(es)
defined for that server. In other words, only messages ment for that server are accepted.
In multi-server environements you should use the option "list". If you have a single Teamware Office server, without routing to other
Teamware Office servers/sites, you should use the "strict" option.
5. Integrating qmail with Teamware Office
As you will see below, the integration methods can be classified by multiple criterias:
- By the method qmails uses to deliver messages to Teamware Office: torecvm or SMTP.
- By the method used by qmail to make the routing: ~alias/.qmail-default, virtualdomains, qmail-users, smtproutes etc.
- By the method qmail will use to decide which mails are to be routed to Teamware Office: domain-based or user-based.
Domain-based routing means that qmail determines if a recipient address belongs to a Teamware Office user from the domain
part (base address). Therefore, Teamware Office base addresses and qmail base addresses must be different, for
example @company.com for qmail and @tw.company.com for Teamware Office.
The user-based routing means the decision will me made based on the user part of the recipient address (e.g.
john.woo@company.com). This means that both Teamware Office and non-Teamware Office users on the system will be able
to share the same base address.
IMPORTANT NOTE: When using user-based routing, you should define from the start clear and distinct naming rules for the
mail addresses. For example, you could use addresses like johnw@company.com for Linux/qmail users and
john.woo@company.com or tw.john.woo@company.com for Teamware Office users. This will also allow an easy switching
between different routing models, when needed.
5.1 Using local deliveries with torecvm
Before choosing this integration method, you should be aware of the
limitation of "piping" mails from qmail to torecvm. The most noticeable one is this:
qmail will not set the "Return Path" header when it passes the message to
torecvm, which, although it doesn't affect the delivery of the message,
prevents the posibilities of generating receipt notifications (RNs), as
RFC 2298, section 2.1 states:
MDNs SHOULD NOT be sent automatically if the address in the
Disposition-Notification-To header differs from the address in the
Return-Path.
You should consult the section 5.2. Using SMTP deliveries too before making a decision.
When you want qmail to deliver messages to Teamware Office using torecvm, you must first configure Teamware Office as if sendmail
is installed on your server. You can do this by using to config and modifying the MIME Connector
service configuration.
Then you have to instruct qmail to treat all the base addresses used by Teamware Office as being local addreses.
Add them to the qmail control files rcpthosts and locals.
You will instruct qmail to deliver the messages to torecvm by inserting in various .qmail files (as you will see below) a line like:
| /usr/bin/torecvm -d/to/smtp -pA -f"$SENDER" -r"$RECIPIENT"
Where:
- | /usr/bin/torecvm : Tells qmail to what program to send the message to and how (pipe in this case).
- -d/to/smtp : Instructs torecvm where to place the message files. If your Teamware Office server root directory is
different than /to, replace accordingly.
- -pA : All delivery reports will be produced (success and failure). Other options are -pF
(to produce only Failed delivery reports) and -pN (to produce No reports).
- -f"$SENDER" -r"$RECIPIENT" : Tells torecvm the sender and recipient(s) of the message. The environement variables
"$SENDER" and "$RECIPIENT" are set by qmail for each message.
IMPORTANT NOTE: As you noticed, the variables are enclosed in quotation marks. If you don't do that, and if the "$SENDER"
or "$RECIPIENT" are empty strings (e.g. in the case of some status reports), you can get qmail errors.
5.1.1. Using local deliveries with torecvm and ~alias/.qmail-default
This method is suitable both for domain-based and user-based routing.
Alias is a generic user created by qmail for handling mails addressed to users that were not identified as
Linux users or aliases declared in the assign file. You can create in the qmail home
directory a series of .qmail files for handling such e-mails. For example, you can
create a file called .qmail-postmaster to handle the mails for the "postmaster" user. Please
consult qmail documentation for more information about using .qmail files.
If all the above mentioned methods for determining the recipient of a mail have failed, qmail will check for rules in
the ~alias/.qmail-default file. Insert in this file a line like:
| /usr/bin/torecvm -d/to/smtp -pA -f"$SENDER" -r"$RECIPIENT"
This will determine that all mails that can't be delivered locally by qmail will to be passed to torecvm. Please note
that this also includes typos made in recipient addreess.
5.1.2. Using local deliveries with torecvm and virtualdomains
This method is suitable for domain-based routing.
Virtualdomains is a method used by qmail to direct all messages having a specific base address to
a user's mailbox (this is why it's called virtual). The idea in our case is to redirect the mails
for that user not to its mailbox, but to torecvm.
You will have to declare the base addresses used by Teamware Office in the qmail control files
rcpthosts and virtualdomains. Do NOT declare them in the locals
control file. Virtualdomains must contain lines like the one below, one for each Teamware Office
base address:
tw.company.com:twu
Where:
- tw.company.com is one of your Teamware Office base addresses.
- twu is the name of the Linux user designated to recieve the messages for that domain.
It can be any user in your system, and you can use the same user for all the base addresses that need to be routed.
Then, in that user's home directory, modify the .qmail-default file to contain the line:
| /usr/bin/torecvm -d/to/smtp -pA -f"$SENDER" -r"$DEFAULT"@"$HOST"
Note that in this case two qmail environement variables are used to create the recipient address:
$DEFAULT and $HOST. This because, when using virtualdomains, qmail appends the name
of the user used for routing to the beginning of the recipient address, separated by a dash.
For example: an original recipient address john@tw.company.com will become twu-john@tw.company.com.
The "$SENDER"
qmail environement variable will contain the orginial, also called default, user part of the recipient addres (john
in our example), and $HOST will contain the domain part of the original recipient address (
tw.company.com in our example).
5.1.3. Using local deliveries with torecvm and qmail-users
This method is suitable for user-based routing.
In qmail, you can create alias databases with qmail-users.
In the /var/qmail/users/assign file,
it is possible to assign different addresses to users. This is done by inserting in that file lines of the form:
=local:user:uid:gid:homedir:dash:ext:
This means that all addresses like local@ will be delivered to user, with user ID uid and group ID
gid, and with the delivery rules specified in homedir/.qmaildashext.
The above is a one-to-one assignation. For integration with Teamware Office, you will need to use wildcards, so the line
should look like:
+tw.:twu:503:503:/home/twu:-::
The fields are explained below. You must replace all values with values suitable for your system.
It is not advisable to specify an extension in /var/qmail/users/assign for
integration with Temware Office. If you would do that, for example with a line like:
+tw.:twu:503:503:/home/twu:-:ext:, you would have to create a
.qmail-extname for each recipient address like tw.name@company.com.
You can define as many rule lines in /var/qmail/assign as you want, but the last line
must contain only a dot (".") by itself. After inserting all the rules you need, you must compile the file
in the cdb format needed by qmail, using the command qmail-newu.
Also, it is possible to make different address manipulations in the .qmail-default file.
For example, if $RECIPIENT is tw.john@company.com, you also have other variables available, such as: $DEFAULT, containing
john; $LOCAL, containing tw.john; $HOST, containing company.com. So you could use a command like:
| /usr/bin/torecvm -d/to/smtp -pA -f"$SENDER" -r"$DEFAULT"@tw.company.com
This will rewrite the recipient address tw.john@company.com to john@tw.company.com. For more details
on this, please see the man pages for .qmail-command.
5.2 Using SMTP deliveries
If you plan to install qmail and Teamware Office on the same machine, you have to define Teamware Office's SMTP port
to be something else than 25 (which will be used by qmail), for example 2025. This is done from the Admin client, Connector
for MIME section, Miscellaneous page.
Then you will have to configure MIME connector, with to config, as if sendmail is not installed
on that machine. This will determine Teamware Office to accept SMTP connections on the port you defined above.
If you plan to use qmail and Teamware Office on different machines, there is no need to change Teamware Office's SMTP port number.
5.2.1. Using SMTP deliveries with smtproutes
This method is suitable for domain-based routing.
First of all, you have to declare your Teamware Office base address(es) in the rcpthosts
control file.
Make sure those base addresses do NOT appear in the me or
locals control files, otherwise qmail will use local delivery mechanisms.
Then define in the smtproutes control file the Teamware Office server to receive messages,
inserting lines like:
tw.company.com:tw.server.company.com:2025
Where:
- tw.company.com : The base address to route.
- tw.server.company.com : The FQDN (Fully Qualified Domain Name) of the Teamware Office server which handle that base address.
You can also use IP addresses, but you have to enclose them is square brackets, for example:
[1.2.3.4] (of course, replacing 1.2.3.4 with the real IP of the server).
- 2025 : The SMTP port number of the destination server. If the port number is 25, you can leave the field empty.
You can also omit either the base address or the destination server, and you can use wildcards:
.tw.company.com:
In this case, all addresses ending with .tw.company.com (i.e. john@srv1.tw.company.com),
but not @tw.company.com itself, will be routed according to their MX records on the qmail server.
:tw.server.company.com
In this case, all the addresses that are not declared as local for qmail will be artificially routed (to distinguish from the routing
determined by the MX records) to the tw.server.company.com server.
If you have qmail and Teamware Office running on the same machine, having SMTP port numbers 25 and 2025 respectively, and if you want
all addresses that are not declared as local for qmail to be routed to the Teamware Office server,
smtproutes should contain a line like:
:[127.0.0.1]:2025
You can have as many routing rules as you want in smtproutes, but the messages will be handled
only by the first line (in the order of appearence) that can be applied to that message.
Please keep in mind that local deliveries take precedence over smtproutes, which in
turn takes precedence over the rules defined with MX records.
5.2.2. Using SMTP deliveries with ~alias/.qmail-default and qmail-remote
This method is suitable both for user-based and domain-based deliveries.
Qmail-remote is the program used by the qmail system to deliver messages to remote servers. You will use
~alias/qmail-default to intercept all the messages that are not locally deliverable by qmail
(see 5.1.1. Local deliveries with torecvm and ~/alias/.qmail-default for more details on .qmail-default).
Insert in ~alias/qmail-default a line like:
| qmail-remote tw.server.company.com "$SENDER" "$RECIPIENT"
Where:
- | qmail-remote : Is the program used by qmail to send messages to remote servers by SMTP.
- tw.server.company.com : The Fully Qualified Domain Name (FQDN) of your Teamware Office server to receive messages.
You can also use IP addresses, but you have to enclose them in straight brackets: [1.2.3.4].
- "$SENDER" "$RECIPIENT" : The sender and the recipient(s) of the message.
By default, qmail-remote will send the messages to the machine tw.server.company.com on the SMTP port 25. If Teamware
Office's SMTP port has a different number, or if the DNS server can't resolve that server name, you will have to declare in
the smtproutes a line like:
tw.server.company.com:[1.2.3.4]:2025
Or, if qmail and Teamware Office are installed on the same machine:
tw.server.company.com:[127.0.0.1]:2025
Doing this, you let qmail know the IP address and the SMTP port number for the tw.server.company.com machine.
See 5.2.1. Using SMTP deliveries with smtptroutes for more details.
If needed, you can modify the recipient address, for example by
replacing "$RECIPIENT" with "$LOCAL"@tw.company.com. In this case,
a recipient address like john@company.com will be rewritten as john@tw.company.com.
Please do not forget that, if the Teamware Office base address(es) are also declared local for qmail, you will have to make
sure that the user name in the e-mail addreses are different. For example, you can use addresses like johnw@company.com
for qmail/Linux and john.woo@company.com for Teamware Office. Otherwise, qmail will deliver the messages to the Linux
mailboxes, without routing them to Teamware Office.
For special accounts, such as root, postamster, webmaster etc. there is no need to create dedicated
Teamware Office accounts. You can create instead ~alias/qmail-root,
~alias/qmail-postmaster, ~alias/qmail-webmaster etc.
files, containing lines like:
| qmail-remote tw.server.com "$SENDER" admin@"$HOST"
This will cause all the mail for those accounts to be delivered to the admin@company.com Teamware Office mailbox.
5.2.3. Using SMTP deliveries with qmail-users and qmail-remote
This method is suitable for user-based routing.
It is similar with method 5.1.3. Using local deliveries with torecvm and qmail-users. You only need to
replace in /home/twu/.qmail-default the torecvm delivery with SMTP delivery, by inserting a line like:
| qmail-remote tw.server.com "$SENDER" "$RECIPIENT"
Please see also 5.2.2. Using SMTP deliveries with ~alias/.qmail-default and qmail-remote for details on
qmail-remote.
5.2.4. Using SMTP deliveries with ~alias/.qmail-default by forwarding
WARNING! This method is presented just to show the use of the forward qmail command and how to create
alias base addresses for Teamware Office. The major disadvantage of this method is that forward converts all the
recipient types to BCC. The only way to correct that is to create your own header manipulation program.
Nevertheless, the techniques used here might prove useful under special circumstances,
so you should have a look at them.
As on method 5.1.1. Using local deliveries with torecvm and ~alias/.qmail-default,
you will use ~alias/.qmail-default to intercept
the messages for which qmail cannont find a local recipient on the Linux system. But the ~alias/.qmail-default
will contain this time a line like:
| forward "$LOCAL"@tw.company.com
Where:
- | forward : The qmail program that forwards the mail to another adddress(es).
- "$LOCAL" : The user part of the original recipient address.
- tw.company.com : The base address to substitute the original recipient base address. The tw.company.com
base address must NOT appear in the locals control file. This base address
substitution is necessary because otherwise the message will generate a loop and will eventually be
discarded by qmail, since forward injects the message back in the qmail processing system.
Then decalre in the smtproutes control file which server handles the
new base address. For example, if qmail and Teamware Office are installed on the same machine, with Teamware Office having the
SMTP port number 2025, smtproutes will contain:
tw.company.com:[127.0.0.1]:2025
See 5.2.1. SMTP deliveries with smtproutes for more details.
For Teamware Office users, the base address is declared to be the same as the base address used by qmail (i.e. @company.com).
Therefore, you will have to instruct Teamware Office to treat @tw.company.com as being an alias for @company.com.
This is done by adding in the tombsmtp.ini file, after the line
own_node = company.com, a line like:
own_node = A:tw.company.com
Therefore, the route of the message for the Teamware Office user john@company.com will be:
- Delivered to qmail with recipient john@company.com.
- Forwarded back to qmail with the recipient john@tw.company.com.
- Sent via SMTP to the Teamware Office server with the recipient john@tw.company.com.
- Delivered to the Teamware Office user with the recipient address john@company.com.
6. General qmail tips
-
All the qmail environement variables (such as $SENDER and $RECIPIENT) support UNIX-style manipulations. There are
many qmail environement variables that you can use for various address manipulations.
For example, you can change the base address in an address by replacing "$RECIPIENT" with strings like:
- "$LOCAL"@"$HOST" : This will compose the recipient address from the original user part and domain part.
- "$LOCAL"@my.domain.com : This allows you to explicetely change the domain part of an address into @my.domain.com.
- "$LOCAL".tw@twsrv."$HOST : This will add the .tw suffix to the user part of the address and the twsrv. prefix
to the host part. For example john@company.com will be rewritten as john.tw@twsrv.company.com.
Please consult the qmail docummentation and the qmail-command man pages for more details.
-
If certain users in your system require different routing rules beside the global ones you implemented, you can adapt
some of the techniques described in this document. For example, you should always create an alias for the root user.
By default, for security reasons, mail cannont be delivered in the mailbox or maildir of the root user. Other
aliases advisable to create (depending on your system) are: postmaster, webmaster etc. Here are two
example of the methods you can use:
-
Use ~alias/.qmail files to declare simple aliases. For example, create
an ~alias/.qmail-root file to declare who will receive the mail for the user root.
That file can contain a simple user name (e.g. john) or a full Internet mail address (e.g. sysadmin@tw.company.com).
-
Use /var/qmail/users/assign to declare more complex alias addresses and different
.qmail rules files.
-
You can use the .qmail files to forward mails to multiple addresses. For example, you can create a sales
user which automatically forwards all the messages to the members of your Sales department. You accomplish that by inserting in the
.qmail file in the sales home directory the addresses of the Sales members, one per line.
Beside simple group forwarding, qmail handles very well mailing lists, via the ezmlm package. You could find this
feature useful, for example, to create announcement mailing lists for your customers. More informations can be found
at http://cr.yp.to/ezmlm.html.
7. Useful qmail resources
|