2

我最近安装了 Postfix、Dovecot 以在我自己的 VPS 上设置邮件服务器(使用本教程:使用 Postfix、Dovecot、Mysql 发送电子邮件

Imaps 服务器使用 993 端口进行身份验证,Postfix 使用 25 端口发送邮件。在本教程中,用户存储在数据库中(因此 imaps 使用 mysql 对用户进行身份验证)。我确信 imaps 和 postfix 一切正常,因为几天前我安装了 Kmail 客户端(在我的 linux 上)并从我的服务器接收邮件。发送邮件也可以正常工作,我向 Gmail 发送了一封邮件,谷歌收到了它没有问题(在我的“Gmail 收件箱”而不是垃圾邮件文件夹中)

因此,为了从网络邮件客户端访问我的电子邮件,我在/var/www/mail目录中安装了Roundcube 。

我多次配置Roundcube。但每次它给我这个错误:

IMAP 错误:来自 XxXx 的 [me@mydomain] 登录失败。第 184 行 /var/www/mm/program/lib/Roundcube/rcube_imap.php 中的空启动问候语 (localhost:993) (POST /mm/?_task=login?_task=login&_action=login)

当我从圆形立方体登录时,imap 服务器说(在/var/log/mail.log中):

5 月 20 日 07:05:16 my-server dovecot: imap-login: Disconnected (没有授权尝试): rip=::1, lip=::1, TLS 握手: Disconnected

这是我的圆形立方体配置文件:

$config['db_dsnw'] = 'mysql://roundcubeuser:myPassword@localhost/roundcubemail';
// ----------------------------------
// IMAP
// ----------------------------------
$config['debug_level'] = 13;
$config['default_host'] = 'ssl://127.0.0.1';
$config['default_port'] = 993;
// ----------------------------------
// SMTP
// ----------------------------------
$config['smtp_server'] = 'ssl://localhost';

有什么问题?我真的不知道发生了什么!

谢谢你。

4

2 回答 2

4

我现在正在使用 postfix + dovecot + roundcube 几个月,它对我有用。在我的配置中,postfix 拒绝纯文本会话,因此 roundcube必须与 ssl 连接 - 它正在工作。

这是来自我的main.inc.php. 我不记得在这里编辑任何东西,它只是安装期间创建的初始配置。

现在我正在查看它, default_port 没有任何意义,我认为它只是被忽略了。

// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Supported replacement variables:
// %n - http hostname ($_SERVER['SERVER_NAME'])
// %d - domain (http hostname without the first part)
// %s - domain name after the '@' from e-mail address provided at login screen
// For example %n = mail.domain.tld, %d = domain.tld


// TCP port used for IMAP connections
$rcmail_config['default_port'] = 143;
$rcmail_config['default_host'] = array("ssl://localhost:993");

// TCP port used for IMAP connections
$rcmail_config['default_port'] = 143;
于 2014-05-23T13:22:16.627 回答
2

如果其他答案不起作用,这对我有用。我config.inc.php现在包含:

$config['default_host'] = 'ssl://localhost';
$config['default_port'] = 993;

注意:使用tls://localhost对我不起作用。我必须指定ssl://为 URI 方案。

通过 PhpMyAdmin,我还运行了这个 SQL 命令(我所有的用户帐户都在运行 RoundCube 的同一台机器上):

UPDATE `rc_users` SET `mail_host`='ssl://localhost'

我从运行sudo netstat -tulnp中获得了端口号 993,以确定 Dovecot 正在侦听的端口。

于 2018-09-23T08:38:10.007 回答