ACPI administration advocacy advocacy opinion apache audio authentication bash calendar commandline cron database debian desktop development disk dvd emacs email exim files firefox firewall ftp fun grub hardware hardware html images installation ipod kde knoppix laptop latex mplayer multimedia mysql network nfs openoffice opinion opinion pdf perl php postgresql printing scripting scsi security shell sitenews slackware spam ssh subversion svk t23 t43 text thinkpad thunderbird time users windows wine wordpress xwindows xwindows
Having a remote server to send email through is really, really useful, especially, if you are travelling around with a laptop and need to send email while you're on the road.
A main reason for this usefulness is that usually, your ISP's SMTP server won't acccept email from you if you're not connecting through their network, which, when you're roaming, you won't be.
You'll be able to connect to your server from anywhere and send mail through whether you're connected through a friend's ADSL network, through a Wi-Fi connection is a cyber cafe. Of course, the server has to be configured and you need to run a mail transfer agent, such as sendmail, postfix or exim. My choice is exim because it is the Debian default.
The MTA needs to be configured correctly so that it doesn't become a relay for spammers. In particular it needs to be password protected. When I tried this, I found the the Exim documentation not complete.
There needs to be a password file on the server to store the password. This should be in "CONFIG/passwd", which on my system is /etc/exim4/passwd.
The password has to be hashed and the way to do this is use the command:
htpasswd -d -c passwdfile usernameforsmtp
where "usernameforsmtp" is the user name you wish to connect to exim with and "passwdfile" is the name of the file in which you wish to store the password.
You also need to use a TLS certificate. This must be enabled in the exim configuration files with this line:
MAIN_TLS_ENABLE = true
Finally, you need to be careful that the service provider you are connecting through doesn't block outgoing connections on port 25. ISPs often do this because port 25 is used by computers hijacked by spambots. You can get exim to listen on the normal secure, TLS port 587 with this line:
daemon_smtp_ports = smtp : 587
Now, all you have to do is get your email programme, say Thunderbird, to point to your remote server, port 587 as its outgoing server and supply your user name and password.