Lets assume you're running E-Smith 5.5. I also will assume since you want to enable SMTP relaying your clients are also going to be checking their email via POP3.
Configure the E-Smith server to use Public settings for e-mail (not private).
Install the CVM Package:
rpm -Uvh
http://untroubled.org/cvm/rh7/cvm-0.11-1.i386.rpmInstall the E-Smith CVM Package:
rpm -Uvh
http://www.pagefault.org/download/e-smith/contrib/e-smith-cvm-unix-0.0.2-01dc.noarch.rpmModify the CVM settings configuration:
/sbin/e-smith/db configuration set cvm-unix service status enabled
/sbin/e-smith/signal-event email-update
/etc/init.d/cvm-unix start
/etc/init.d/smtpfront-qmail restart
Install stunnel to allow SSL tunneling of POP3 and SMTP protocols:
rpm -Uvh
http://www.pagefault.org/download/e-smith/contrib/e-smith-securemail-0.0.1-01dc.noarch.rpmModify the stunnel configuration:
/sbin/e-smith/db configuration set stunnel service status enabled access public
/sbin/e-smith/signal-event email-update
Install SSL Pop3:
rpm -Uvh
http://www.pagefault.org/download/e-smith/contrib/e-smith-pop3s-0.0.1-01dc.noarch.rpmConfigure SSL-POP3
/sbin/e-smith/db configuration set popds service status enabled access public
/etc/e-smith/events/actions/securemail-pem-cert
/sbin/e-smith/signal-event remoteaccess-update
/sbin/e-smith/signal-event email-update
Install SSL SMTP:
rpm -Uvh
http://www.pagefault.org/download/e-smith/contrib/e-smith-ssmtp-0.0.2-03dc.noarch.rpmConfigure SSL-SMTP
/sbin/e-smith/db configuration set ssmtpfront-qmail service status enabled access public
/etc/e-smith/events/actions/securemail-pem-cert
/sbin/e-smith/signal-event email-update
/etc/init.d/ssmtpfront-qmail restart
Configure your clients:
Reconfigure your email client to send and recieve via the ssl enabled services, pop over ssl (port 995) and smtp over ssl (port 465). The smtp over ssl requires the user to validate their authentication credentials in order to relay messages via your server. This uses the cvm sasl module provided by the author of mailfront.
For example in Outlook Express, you would navigate to Tools->Accounts->{Select your account}->Properties and ensure in the Servers tab that 'My server reuires authentication' is ticked for ssmtp, and in the Advanced tab that 'This server requires a secure connection (SSL)' is ticked for the appropriate service. Note that once you have ticked this for smtp you need to change the port to 465 as mailfront does not yet support TLS.
Import a security cert:
If you don't have a certificate signed by a trusted root authority you must create a private certificate and import it into the trust root authority on the clients.
Exporting the SSL Cert:
openssl pkcs12 -export -in /usr/share/ssl/certs/
.pem -out