mail in a home data center?

Tim ignored_mailbox at yahoo.com.au
Wed Jul 11 04:04:26 UTC 2007


On Tue, 2007-07-10 at 22:13 -0400, Tom Horsley wrote:
> I've got my home server doing DNS (thinks to the excellent
> articles in redhat magazine) and DHCP, so I was foolishly
> thinking the next step might be mail (or I might die of
> old age trying to understand sendmail - it would be a close
> race I think :-).

I've done this, it wasn't too hard.  You don't have to configure
sendmail, unless you want to use it as your central mail server, and
send mail through it.  You can ignore it, and have your mail users send
directly through your ISP's, if you don't intend to send mail internally
between users.

> Are there any pointers around the web anywhere that might
> clarify how to achieve the following things with any
> software that is available on fedora (I certainly don't
> insist on sendmail):
> 
> 1. Deliver local mail correctly within my home data
> center (though this will consist mostly of making sure
> things like mail sent by various root cron scripts
> winds up actually coming to me rather than being queued
> up forever in limbo).

Read the /etc/aliases file, configure the account you want to receive
root's mail.

> 2. Deliver external mail by talking to my ISP's account
> the same way individual mailers do today - authorizing
> with my password, using secure connection, putting my proper
> ISP account's From: address on the mail instead of my
> local user name, etc... (I don't have, and am not gonna
> have a domain name or a fixed IP).

Use fetchmail to drag in mail from any POP, IMAP, or a plethora of other
server types, and drop it in user's local mailboxes.  It'll go into
them, as-is.  For all intents and purposes, they won't see any
difference between getting it through your server, or getting it
directly from the external ones.  The addresses don't get changed.

Configured with the .fetchmailrc file, and can be done in a natural
language manner.  Just a series of lines like:

poll mail.example.com proto pop3 user "tim at example.com" with password "reallysecret", is "tim" here;

After *user* is the username the ISP wants you to use, which may be a
name, address, or whatever they do.  After *is*, is their local
username.

Set fetchmail to periodically run.  I did that with a few lines in
my /etc/rc.local file:

su tim -c "/usr/bin/fetchmail -d 900"
su john -c "/usr/bin/fetchmail -d 1200"
su fred -c "/usr/bin/fetchmail -d 1500"

One per user, and I used different time values (in seconds), so they
didn't all poll at once, after the initial start up).  This starts it
going after a boot.  You can use the same commands to start it up now,
without rebooting.

Users can kick fetchmail into doing a fresh run, now, by just typing
fetchmail into their terminal (if they don't want to wait x minutes to
get mail).  After that, it'll go back to running as a daemon.

Users configure their mail clients to use your server as their IMAP or
POP server, they configure their from addresses to be whatever they want
them to be.

> 3. As an extra bonus, perhaps deliver my local mail to
> an IMAP server's store so I can read it from any machine
> in my home data center. (Or even outside if I ever decide
> to open any ports, but I probably won't do that).

Start up dovecot.  It's been a long time since I fired it up from a
fresh start.  I don't think it even required configuring, the defaults
worked fine.

Configure your mail clients to use it as their IMAP or POP3 server (I
can't remember if it supported other protocols, too).

Look into firewalling and other security things if you want to allow
external access.

-- 
[tim at bigblack ~]$ rm -rfd /*^H^H^H^H^H^H^H^H^H^Huname -ipr
2.6.21-1.3228.fc7 i686 i386

Using FC 4, 5, 6 & 7, plus CentOS 5.  Today, it's FC7.

Don't send private replies to my address, the mailbox is ignored.
I read messages from the public lists.






More information about the fedora-list mailing list