I had this problem as well. An alternative solution was found in the Exim FAQ:
http://www.exim.org/exim-html-4.30/doc/html/FAQ.html#TOC308Basically it suggests that roundcube is using SMTPS rather than STMP/TLS, and is trying to establish the encryption prior to receving the HELO from exim. The solution is to start another exim instance configured to respond to port 465 and which starts TLS negotiation immediately.
running:
exim -bd -oX '[0.0.0.0]:465' -tls-on-connect
[I think the Exim FAQ has a typo as it uses two colons (
]
Will start this instance, then in main.inc.php:
// use this host for sending mails. // to use SSL connection, set ssl://smtp.host.com // if left blank, the PHP mail() function is used $rcmail_configsmtp_server? = 'ssl://your.host.here';
// SMTP port (default is 25; 465 for SSL) $rcmail_configsmtp_port? = 465;
// SMTP username (if required) if you use %u as the username RoundCube // will use the current username for login $rcmail_configsmtp_user? = '%u';
// SMTP password (if required) if you use %p as the password RoundCube // will use the current user's password for login $rcmail_configsmtp_pass? = '%p';
// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use // best server supported one) $rcmail_configsmtp_auth_type? = 'LOGIN';
I didn't have any luck leaving the smtp_auth_type empty, but PLAIN and LOGIN appear to work.
All appears to work properly.