E-mail processing using Sendmail


 

 

 

 

 

Introduction

Caldera Linux 1.3 comes with software packages to allow a Linux server to act as an e-mail processing server, providing the services for

 

mail transfer agent

POP 3 server

IMAP server

mailbox hosting

 

Mail transfer agent

The MTA that is provided is called Sendmail, and it is installed by default by nearly all the installation methods.

Sendmail is notoriously difficult to configure, the configuration is contained within a file /etc/sendmail.cf

A default version of this file is supplied with Caldera Linux 1.3, it is over 1000 lines in length, and virtually unreadable by humans.

Modifications to the sendmail.cf file are done by the use of a series of macros, and it is essential to use the correct version of macros for each version of Sendmail.

Note that the default sendmail.cf file works as it is, and on this isolated network, Sendmail will function as an MTA without further configuration.

As it is configured by default, Sendmail requires that intended recipients within the local domain are users on the Linux server, it is not sufficient for recipients to just have a local mailbox.

Users are of course listed in the /etc/passwd file, and if you have set up Samba, then the users are already in existence.

Sendmail looks for mailboxes in /var/spool/mail/, and the mailbox file has to be created before Sendmail will deliver to it, ie, Sendmail does not create them.

Sendmail is by default configured to process e-mail addresses that do not contain the full domain name, so an e-mail addressed to

root@linux-1

is delivered just as is an e-mail showing the whole domain name -

root@linux-1.e-nor.loc

 

NB on security

Security is an issue for any kind of e-mail processing, and if Sendmail is configured to receive and deliver e-mails that are not either to or from the local domain, Sendmail will act as a relay.

It is widely recommended that if a Linux server is going to be attached to the internet or even to another network, either make sure that Sendmail is configured to prevent relaying, or disable it from running.

Otherwise it is certain that it will be used for spamming by outside agencies.

 

IMAP and POP 3 servers

Both the IMAP server and the POP 3 server are provided by the one package, called "IMAP".

So if the installation method used has not installed it already, then it will have to be loaded from the CD using LISA.

Once they are loaded, they do not require any configuration, they will work "out of the box".

And the services they provide enable users on Windows based workstations to use an e-mail program such as Microsoft Outlook Express to retreive e-mail from mailboxes on the Linux server using either POP3 or IMAP.

Sending e-mails from the Windows e-mail client to users within the domain is not a problem, as this is done using SMTP. So there is direct interaction with Sendmail for outgoing mail.

 

Mailbox hosting

This is not a problem.

For each unique e-mail address within the domain, there has to be a user on the Linux server.

And each user can be given a mailbox in the folder /var/spool/mail/

Linux uses an "mbox" style of mailbox, in which successive e-mails in the mailbox are concatenated into a single text file. So a new and empty mailbox is just an empty file, which must be created before the e-mail address is used.

When Sendmail pushes an e-mail into a mailbox, it just adds the e-mail as a string of text onto any existing text in the file.

[ Actually, Sendmail does not push e-mails into mailboxes, Sendmail forwards them to a Mail Delivery Agent, which does the actual pushing. The most likely MDA in use is "Procmail". ]

A Linux based e-mail client such as Pine divides up the text back into seperate e-mails; alternatively, it is the POP 3 server or the IMAP server which does it, and then sends the seperate e-mails off to the remote e-mail client.

 


© 2002 Ron Turner


Return to the Linux index page