使用 SSL 为 SMTP 和 IMAP 配置 roundcube

使用 SSL 为 SMTP 和 IMAP 配置 roundcube

我尝试过使用各种设置来设置 SMTP 和 IMAP,但无法在我的服务器上运行任何程序。我在服务器上有 SSL 证书,可以通过 https 顺利连接到它。

当我运行 round cubes 自动配置器并在最后测试配置时,IMAP 可以工作并且可以登录,但是当我尝试通过“mydomain/roundcubemail”登录帐户时,它不起作用。(下图)

在配置中 IMAP 在配置中工作

在 mydomain/roundcubemail 中我收到此错误,错误如下: IMAP 日志错误:/usr/share/roundcubemail/program/lib/Roundcube/rcube_imap.php 中的 IMAP 错误(184):登录失败[电子邮件保护]来自 193.61.254.32。AUTHENTICATE PLAIN:身份验证失败。

此外,SMTP 无法处理 NOT OKAY 消息。 在此处输入图片描述

这是我正在使用的配置

$config['db_dsnw'] = 'mysql://roundcube:MYPASSWORD@localhost/roundcube';

$config['debug_level'] = 5;

$config['sql_debug'] = true;

$config['imap_debug'] = true;

$config['ldap_debug'] = true;

$config['smtp_debug'] = true;

$config['default_host'] = array('localhost:143', 'domain:143', 'ssl://domain:993');

$config['default_port'] = 993;

$config['smtp_server'] = 'ssl://domain';

$config['smtp_port'] = 465;

$config['smtp_user'] = '%u';

$config['smtp_pass'] = '%p';

$config['support_url'] = 'http://domain';

$config['des_key'] = 'myKey';

$config['username_domain'] = 'domain';

$config['product_name'] = 'Mail | domain';

$config['plugins'] = array();

$config['language'] = 'en_US';

$config['spellcheck_engine'] = 'pspell';

$config['draft_autosave'] = 60;

有什么建议么?

答案1

我知道这个问题很老了但对某些人来说可能有用。

为了使 IMAP 与SSL或 一起运行TLS,您必须将 IMAP 配置从config/defaults.inc.php文件复制到config.inc.php。并根据您的服务器配置在服务器地址前加上ssl://或前缀。例如:tls://
$config['default_host'] = 'ssl://imap.yourserver.tld';

//To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
$config['default_host'] = 'imap.yourserver.tld'; //your imap server address
$config['default_port'] = 143; //You must define the same port as your server
// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or null to use
// best server supported one)
$config['imap_auth_type'] = 'LOGIN'; //You must define a authorization type 

答案2

我假设您发布的配置文件就是您使用的配置文件。您domain在那里写了这么多次似乎很奇怪,但我会回答文件就是这样写的。

这意味着在大多数地方您应该替换domain您实际使用的域 - 在我的示例中它将是example.dom

因此,要在 roundcube 中设置带有安全套接字的 IMAP,您需要更改

$config['default_host'] = array('localhost:143', 'domain:143', 'ssl://domain:993');

$config['default_host'] = 'ssl://example.dom';

但是,如果您在设置邮件的同一域上托管您的网络邮件,请考虑使用%n(对于主机名)或%t(对于剥离的主机名域)替换变量。

SMTP 也一样:

$config['smtp_server'] = 'ssl://domain';

应改为

$config['smtp_server'] = 'ssl://example.dom';

或者,如果合适,包含%n或 的东西%t

当然,这一切都假设有一个 TLS IMAP 服务器(例如鸽舍) 上运行example.dom:993,以及 TLS SMTP 服务器(例如开放SMTPD) 上example.dom:465,并且这些端口均已打开。

相关内容