The buildd account needs to be able to send and receive email. This page has some configuration ideas if the stock email solution does not work for your situation.
- [#uucp uucp over ssh] notes
- [#procmail procmail]
uucp over ssh
Sometimes the solution to a problem such as routing email is to go old school. You can deliver email using uucp over ssh. Hopefully someone will document something a little newer, but for now, this works.
Install uucp on both the client and server apt-get install uucp. You can setup both the client and the server to transfer mail on demand or by polling. This faq is going to cover push/push (both machines act as clients and servers). This works pretty well for buildds because they usually already have a working ssh client and server.
You will need to generate a password-less ssh key for uucp.
sudo -u uucp ssh-keygen
Replace $server with the name of the mail server (I usually use the common name). Replace $client with the name of the mail client (this is like a user account). Replace $password with some password (i.e., makepasswd).
Think of this as what username ($client) and $password to use when contacting $server.
/etc/uucp/call: $server $client $password
Tell uucp to use ssh.
/etc/uucp/port: port sshport type pipe command /usr/bin/ssh -x -o batchmode=yes $server
/etc/uucp/sys: system $server call-login * call-password * time any address $server port sshport protocol t remote-send /var/spool/uucppublic remote-receive /var/spool/uucppublic
Optionally map the common name you are using for the server to the fully qualified domain name.
/var/spool/uucp/.ssh/config: Host $server Hostname $server.example.com
$server, $client, and $password should match as appropriate from the client.
/etc/uucp/passwd: $client $password
Allow the client to use the system.
/etc/uucp/sys: system $client time any port tcp protocol t remote-send /var/spool/uucppublic remote-receive /var/spool/uucppublic commands rmail rnews rbsmtp rsmtp cbsmtp rcsmtp rgsmtp
You will need /var/spool/uucp/.ssh/id_rsa.pub from the client.
/var/spool/uucp/.ssh/authorized_keys: command="/usr/lib/uucp/uucico -l" ssh-rsa uucp_public_key uucp@client
Preparation and Testing
working through here
On the client you should su uucp and ssh to $server to make sure the key works. You'll get a uucp prompt.
sudo -u uucp ssh $server
You'll want a cronjob that calls "/usr/lib/uucp/uucico -C -S$server" periodically.
You can also setup your mta to make that call whenever mail is pending if you'd prefer. Something about
- uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
I believe. If you're using postfix.
- $server uucp:$server
And I think that's about it. I'm happy to help debug if needed.