えむのメモして満足するLog

どうも私です。

ドコモメールを無理矢理Roundcube webmailで使っちゃる

どうもドコモメールに取り込まれた私です。ドコモメールをRoundcube webmailで使おうという趣旨ですが、ひと苦労食らったので書き置きです。

お注目

この記事はRoundcube webmail 1.5系のセットアップ過程で生じた問題への対処法です。

バージョン1.6から$configのキー名が一部変わっているのでその点置き換えてください。詳しくはリリースノート参照 → Roundcube 1.6.0 released

tlsスキーマは使わない

$config['default_host']tlsスキーマを使うとほぼ

IMAP Error: Login failed for ******** against imap.spmode.ne.jp from xxx.xxx.xxx.xxx. Empty startup greeting

のようなエラーを吐く。修正するにはsslスキーマを使おう。 → ssl://imap.spmode.ne.jp:993

接続できたがログインで失敗する

IDとパスが正しいのかを確かめる(とても重要)。

次のログが記録されていたら以下を試す。

IMAP Error: Login failed for ******** against imap.spmode.ne.jp from xxx.xxx.xxx.xxx. Could not connect to ssl://imap.spmode.ne.jp:993: Unknown reason

コンフィグの$config['imap_conn_options']$config['smtp_conn_options']ssl用のciphersの値にTLSv1.2:!aNULL:!eNULL:@STRENGTHを記載する。

<?php
// 例、imap_conn_optionsとsmtp_conn_options同じように指定しておこう
$config['imap_conn_options'] = [
    'ssl' => [
        'ciphers' => 'TLSv1.2:!aNULL:!eNULL:@STRENGTH'
    ]
];

security_levelを落としても対応できたがこっちの方が良さそう。ドコモメールは基本TLS 1.2とのことだが、サイファーのパラメーターがあってるかは分かりません(一応openssl ciphers -v 'TLSv1.2:!aNULL:!eNULL:@STRENGTH'しておくのが吉)。

参考