我尝试过使用各种设置来设置 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
,并且这些端口均已打开。