In order to send authenticated SMTP email over TLS, you need the following in your local.config.php (bug fix!):
Config::Set('EMAIL_USE_SMTP', true);
// Add multiple SMTP servers by separating them with ;
Config::Set('EMAIL_SMTP_SERVERS', 'smtp.example.com');
Config::Set('EMAIL_SMTP_PORT', '25'); // or 587
Config::Set('EMAIL_SMTP_USE_AUTH', true);
Config::Set('EMAIL_SMTP_USER', 'yourname@example.com');
Config::Set('EMAIL_SMTP_PASS', 'p4ssword');
Config::Set('EMAIL_SMTP_SECURE', 'tls');
Then, open up /core/classes/Util.class.php, scroll to line 257 and add in that code block:
if(Config::Get('EMAIL_SMTP_USE_AUTH') == true)
{
$mail->SMTPAuth = Config::Get('EMAIL_SMTP_USE_AUTH'); // <- this line needs to be added
$mail->Username = Config::Get('EMAIL_SMTP_USER');
$mail->Password = Config::Get('EMAIL_SMTP_PASS');
$mail->SMTPSecure = Config::Get('EMAIL_SMTP_SECURE');
}
Otherwise PHPMailer won't trya authenticating because $mail->SMTPAuth value isn't set.