IMAPdからDovecotへ移行その他2024-08-10作業メモ。IMAPdのsieveでは、事実上、日本語フォルダ名が使えない。UTF-7形式にデコードされた形で指定すれば使えるけれども、可読性が低すぎる。その点、Dovecotのsieveではきちんと日本語フォルダ名も扱えるという話なので、移行してしまうことにした。AUTHを使用し、Postfixとも共有するとりあえずDBは使わないユーザ認証にはシステムパスワードを使用するインストールDovecotportsからインストール。mail/dovecot設定例のファイルをコピー。Pigeonholeportsからインストール。sieve10-ssl.conf/usr/local/etc/dovecot/conf.d/10-ssl.confを編集し、ssl_certとssl_keyに証明書と認証キーを指定する。</etc/letsencrypt/live/mydomain.name/privkey.pemパスの前の<は重要。これを忘れると、証明書が読み込まれない。証明書の所有権もcyrusからdovecotに変更しておく。/etc/letsencrypt10-mail.conf/usr/local/etc/dovecot/conf.d/10-mail.confを編集し、次の行を追加してメール格納形式を指定する。maildir:~/Maildir10-auth.conf/usr/local/etc/dovecot/conf.d/10-auth.confを編集し、次のようにauth_mechanismsの設定を追加する。loginさらにauth_username_formatの設定を追加する。これは宛て先からドメイン部分を削除する設定。uid@domain」のようなエラーが出てしまう。authブロック内にsmtp-authの設定を追加する。ブロックの外側にauth_mechanismsの設定を追加する。lmtpブロック内に、次のようにLMTPソケットの設定を追加する。}}15-lda.conf/usr/local/etc/dovecot/conf.d/15-lda.confを編集し、次のようにsieveの設定を追加する。sieve}20-lmtp.conf/usr/local/etc/dovecot/conf.d/20-lmtp.confを編集し、次のようにsieveの設定を追加する。sieve}20-imap.conf/usr/local/etc/dovecot/conf.d/20-imap.confを編集し、次のようにsieveの設定を追加する。imap_sieve}90-plugin.conf/usr/local/etc/dovecot/conf.d/90-plugin.confを編集し、次のようにsieveの設定を追加する。file:~/sieve;active=~/.dovecot.sieve}/etc/pam.d/dovecot次の内容で作成。try_first_passaccountrequiredpam_unix.so/usr/local/etc/postfix/main.cf/usr/local/etc/postfix/main.cfを編集し、lmtpの設定を次のように書き換える。AUTHにDovecotを利用する設定を追加。config.inc.phpRoundcubeのconfig/config.inc.phpを編集し、imap_hostとsmtp_hostの定義を書き換える。書き換えのポイントは次の3点。'LOGIN';localhost:993やlocalhost:587のままだと、次のようなエラーが出るため。(localhost:993)rc.conf/etc/rc.confに次の記述を追加。dovecot_enable="YES"サーバーを起動。startデータ移行mbsyncインストールmbsyncを使った。IMAPdからの移行ツールをDovecotで用意していたらしいが、現在はマニュアルから記載が消えている。需要がないのか、Pro版でしか対応するつもりがないのかは不明。別のサーバからの移行なら、imapsyncでもいいと思う。portsからインストール。mail/isyncパッケージ名がisyncなのは、プロジェクト名がisyncだから。mbsyncはコマンド名。.mbsyncrcデータを移行するユーザごとに~/.mbsyncrcを作成する。*usernameとpasswordの部分には、実際のユーザ名とパスワードを指定する。データ移行ユーザごとにログインし、mbsyncコマンドを実行してデータコピー。-aなぜかメールボックスの名称が、すべて先頭にピリオドを付加されていたので、取り除く。~/rmexperiod取り込んだメールを、doveadmでインポートする。allインポートしたフォルダを購読状態にする。username`きちんとインポートできていることを確認。usernameインポートしたフォルダ名が一覧表示されていればOK。note.ホーム検索トップサイドバータイトルとURLをコピーしました。