Hello all,
I'm testing a roundcube with virtualmin, and it breaks the string passed down on $config['smtp_server'].
IMAP work greats, only SMTP.
I will try to expose the most about my configuration and what troubleshoot i did.
I have a fully working roundcube whit this settings wihout virtualmin installed.
$config['default_host'] = array(
'mailserver 1' => 'Webmail 1',
'mailserver 2' => 'Webmail 2',
);
$config['mail_domain'] = '%d';
$config['smtp_server'] = 'mail.%t';
$config['smtp_port'] = '25';
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_auth_type'] = '';
Why this configuration, because i have two mail servers, and the authentication of the users is via user.domain instead user@domain.
What I'm doing here since I have clientes connecting to two different servers, is populating each client smtp server settings with mail.domain.
Now when I install a roundcube alongside virtualmin, all up to date, centos 7 x64 and try to send and email I get this error SMTP Error (-1): Connection to server failed.
So i think and still do it has to be with DNS, and that the named(BIND) service was the culprit so i disabled it.
Manually identified the nameservers in /etc/resolv.conf to Google and made sure that if i nslookup my mail server it resolved.
Now the strange thing begins to happen, if SMTP_SERVER is configured like this $config['smtp_server'] = 'mail.%t'; or %n or %t it always gives the SMTP ERROR(-1).
But if i configure directly with hostname or IP address I can send emails.
Here are the logs, about the error, noticed too that it points to rcube.php line 1648.
[02-Mar-2017 15:26:45 ERROR: Failed to connect socket: php_network_getaddresses: getaddrinfo failed: Name or service not known ()
[02-Mar-2017 15:26:45 : <sevj8rco> SMTP Error: Connection failed: Failed to connect socket: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/webmail/public_html/program/lib/Roundcube/rcube.php on line 1648 (POST /?_task=mail&_unlock=loading1488468406013&_lang=en_GB&_framed=1&_action=send)
Which points to this:
// log error
if (!$sent) {
self::raise_error(array('code' => 800, 'type' => 'smtp',
'line' => __LINE__, 'file' => __FILE__,
'message' => join("\n", $response)), true, false);
Here is the header from google, verifying my user has a permitted sender, which is the expected output.
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of ............... as permitted sender)
Please advise,
Thank you.