Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Alias files for different domains

Posted on 2000-04-18
Medium Priority
Last Modified: 2011-09-20
I have been shown a system (freeBSD) I think, where they can upload an alias file for that domain.

Whats our alternative on Linux, guys?
Question by:martincollis
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
LVL 40

Expert Comment

ID: 2731230
What exactly do you mean by "upload an alias file for that domain"? If you can tell me what you are trying to accomplish, it's very likely that I can accomplish the same thing on Linux.

Author Comment

ID: 2731274
Adjusted points from 200 to 250

Author Comment

ID: 2731275
We have clients that previously used to adjust an alias file for their domain in their FTP area, which would be in the format:

carl          user123@system1.blob.co.uk
bob           user125@system3.blob.co.uk

These aliases would be used by sendmail/the mail app to forward mail.

Lets say these guys have mydomain.com as their domain.

Can we do this?

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

LVL 40

Expert Comment

ID: 2732786
So all you want to do is to let others modify the sendmail alias file. I don't know of any built-in functions in Linux that support this, but I can think of a couple of easy ways to implement it.

A special email account that pipes the update message into a perl scipt would be one way. I'd think you'd want to use some form of authentication in the message to be sure that the update was valid. A better solution would be an login/password protected web page that passes the update data to a system owned perl script which actually does the update.

Author Comment

ID: 2733729
What files would I need to adjust.
Would I have to restart sendmail?
Give me an example of what the entries would look like.
LVL 40

Expert Comment

ID: 2736834
Basically, you'll just be updating the /etc/aliases file with the customer data and then running newaliases to make the data available to sendmail. Since the aliases data is implemented as a database, sendmail does a lookup anytime it uses the alias data so it's not necessary to re-start sendmail.

You could make life a bit easier by requiring the clients to furnish a complete set of aliases for each change. Then you could "mark" that area of the aliases file with comments to make the script easier. It would also be best to do as much sanity checking as possible on the client data. Indeterminate results will occur if there are errors in the alises (alias loop, malformed key/value pairs, etc) when newaliases is run.

Author Comment

ID: 2747420

This makes sense.
I can make the pair:-
bob@chips.co.uk    user123@sys1.hi.co.uk

..... if it is easier.

Some domain aliases are altered by customers, from their FTP area.

How do I set this system up in the best way.

Keeping in mind that we already have some (5-10) customers who generate a new aliase file themselves, so we cannot change the format.
They already create a full list of aliases each time for themselves.

I have a good working knowledge of Linux, but am a little dryer on sendmail.

Expert Comment

ID: 2799153
Are you using one server for multiple domains?
What utility are you using to configure your system? Linuxconf? You might need to look at /etc/vmail/aliases.yourdomain.
LVL 40

Expert Comment

ID: 2801815
What I was referring to was constructing the master alias file with sections something like:

#*** Site them.something.com
alias1:            user1
alias2:            user2

#*** Site those.nother.com
alias1:            user1
alias2:            user2

Then it would be easy to write a perl script that could modify the alias file when presented with a site's alias file section.

As an alternative method, you could construct the master alias file from pieces. Probably it would be easiest to collect all of the parts into one directory (/etc/mail-aliases comes to mind). That dir would contain a "system" section file and files for each of your customers (copied there from the FTP area). As often as desired a script could be run from cron to collect customer aliases files into the directory, build a new alias file from the pieces, and finally run newaliases to tell sendmail about it. To avoid unnecessary alias rebuilds you could use make (assuming you preserve the date stamps when copying). Assuming the system section is named system, something similar to:

cd /etc/mail-aliases
cp -p /path-to-ftp-stuff/cust1.alias alias1
cp -p /path-to-other-stuff/cust2.alias
make aliases

run periodically from cron would do it. The Makefile would look approximately like:

aliases:      system alias1 alias2
            `cat system alias? >aliases`
            cp aliases /etc/aliases
LVL 40

Accepted Solution

jlevie earned 500 total points
ID: 2917077
Comment of 11 May contains the answer.

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Linux users are sometimes dumbfounded by the severe lack of documentation on a topic. Sometimes, the documentation is copious, but other times, you end up with some obscure "it varies depending on your distribution" over and over when searching for …
In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Suggested Courses

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question