-1

Introduction

I have been dealing for over 12 hours looking with an issue with my Roundcube installation in my VPS, Ubuntu 16.04. The IMAP server (dovecot) and SMTP server are working and can telnet without connection refused errors.

Issue

However, when I go to my webmail and try to login with username root and the relevant SSH/SFTP password (in order to test if it is working, then I will create additional email addresses), it returns the following error:

IMAP Error in /usr/share/nginx/roundcubemail/program/lib/Roundcube/rcube_imap.php (193): Login failed for root from 190.20.86.0. AUTHENTICATE PLAIN: * BYE. Internal error ocurred. Refer to server log for more information

Logs

The /var/log/nginx/mail.log and the /var/log/nginx/roundcube.error are empty

Configs

Roundcube RC_PATH/config/config.inc.php:

<?php

/* Local configuration for Roundcube Webmail */

// ----------------------------------
// SQL DATABASE
// ----------------------------------
// Database connection string (DSN) for read+write operations
// Format (compatible with PEAR MDB2): db_provider://user:password@host/database
// Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle
// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
// NOTE: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646'
//       or (Windows): 'sqlite:///C:/full/path/to/sqlite.db'
$config['db_dsnw'] = 'mysql://roundcubeuser:XXXXXXXXXXXX@localhost/roundcubemail';

// ----------------------------------
// IMAP
// ----------------------------------
// The mail host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Supported replacement variables:
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %s - domain name after the '@' from e-mail address provided at login screen
// For example %n = mail.domain.tld, %t = domain.tld
// WARNING: After hostname change update of mail_host column in users table is
//          required to match old user data records with the new host.
$config['default_host'] = 'imaps://mail.domain.com';

// TCP port used for IMAP connections
$config['default_port'] = 993;

// ----------------------------------
// SMTP
// ----------------------------------
// SMTP server host (for sending mails).
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// If left blank, the PHP mail() function is used
// Supported replacement variables:
// %h - user's IMAP hostname
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %t = domain.tld
$config['smtp_server'] = 'tls://mail.domain.com';
$config['imap_auth_type'] = 'PLAIN';

// SMTP port (default is 25; use 587 for STARTTLS or 465 for the
// deprecated SSL over SMTP (aka SMTPS))
$config['smtp_port'] = 587;

// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '%u';

// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '%p';

// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';

// This key is used for encrypting purposes, like storing of imap password
// in the session. For historical reasons it's called DES_key, but it's used
// with any configured cipher_method (see below).
$config['des_key'] = 'XXXXXXXXXXXXXXXX';

// Name your service. This is displayed on the login screen and in the window title
$config['product_name'] = 'Webmail';

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = array();

$config['debug_level'] = 4; //to debug the php authentication failed error

How do I solve this issue while trying to login? I am very worried about the amount of emails I have losed with this 24-hour downtime (20+).

Thanks for your answers. Kevin Nathan Andrews

Kevin
  • 1
  • 1

1 Answers1

1

root can't receive mail using postfix and dovecot can't deliver it over IMAP. It's not really a great idea to use Unix users for authentication for that matter and there are plenty of ways of setting up virtual mail using postfix and dovecot.

If you really need to test, create a non-privileged user, which should work.

Simon Greenwood
  • 1,343
  • 9
  • 12
  • Hello, can you please tell me how to add additional email addresses in Roundcube? Thanks in advance. – Kevin Nov 27 '17 at 20:52
  • This is a good manual way of doing it: [DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-server-using-postfix-dovecot-mysql-and-spamassassin), or if you don't have anything else set up on your VPS, try [iRedMail](https://iredmail.com). – Simon Greenwood Nov 27 '17 at 20:59
  • Why virtual instead of system users? – Kevin Nov 28 '17 at 02:17
  • That guide isn't really clear, I already have fresh install. – Kevin Nov 28 '17 at 10:54
  • Virtual users allow you multiple addresses per domain and is much easier to administer if you use a management system. I would set up iRedMail though, it's a simple script and while paid support is available it's easy to manage and maintain. – Simon Greenwood Nov 28 '17 at 11:20
  • Thank you, I would like to keep it as system users e.g root. Please tell me what are the commands I have to do in Shell – Kevin Nov 28 '17 at 20:02
  • These are the instruction to set up a simple mail system in Ubuntu: https://help.ubuntu.com/lts/serverguide/postfix.html – Simon Greenwood Nov 29 '17 at 07:25