プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

Cypht の試用

こちらの記事の実際に試したものになります。

まずは、 Cypht ("シフト"と読むらしい)を試してみます。なお、 GitHub はこちらです。

起動

Cypht を試すには、 Cypht の docker hub に載っている docker-compose.yml を使って、こちらの記事にあるように QNAP の Contaienr Station で動かすのが一番簡単なようです。

やってみます。Cypht の docker hub に載っているサンプルの docker-compose.yml をそのまま利用します(管理者ユーザー名およびパスワードは適当に設定します)。

version: '3'
services:
  db:
    image: mariadb:10
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root_password
      - MYSQL_DATABASE=cypht
      - MYSQL_USER=cypht
      - MYSQL_PASSWORD=cypht_password
  cypht:
    image: sailfrog/cypht-docker:latest
    volumes:
      - ./cypht/users:/var/lib/hm3/users
    ports:
      - "80:80"
    environment:
      - CYPHT_AUTH_USERNAME=管理者ユーザー名
      - CYPHT_AUTH_PASSWORD=管理者パスワード
      - CYPHT_DB_CONNECTION_TYPE=host
      - CYPHT_DB_HOST=db
      - CYPHT_DB_NAME=cypht
      - CYPHT_DB_USER=cypht
      - CYPHT_DB_PASS=cypht_password
      - CYPHT_SESSION_TYPE=DB

めっちゃ簡単ですね。

ログイン

ブラウザで http://nas01 (この QNAP の 名前)にアクセスします。

さきほど設定した管理者ユーザー名とパスワードでログインします。問題なくログインできると、

といった画面が表示されます。

設定作業

使い前にいろいろと設定作業を行います。

全般的なもの

まずは、日本語表示に切り替えます。左側の『Settings』タブをクリックして、『Site』->『General』を選ぶと、下記のような設定画面が出てきます。

ここで、 Language として Japanese を選択します。次に、その少し下の Timezone として Asia/Tokyo を選んでおきます。

画面の下の方にある『Save』ボタンを押すと設定が保存されます。変更後の画面はこんな感じになります。

メールアカウント

メールアカウントの追加方法は2通りあります。

既存のメールプロバイダーを使うなら、一番上にある『Eメールのアカウントを追加する』を選択します。

『Eメールサービスを選んでください』のドロップダウンリストから、サービス名を選びます。

あとは、必要な項目を入力していけばよさそうです(実際には試していません)。

もう一つは、同じ画面の『IMAP サーバー』および『SMTPサーバー』を選択して、ここに自分が使っているサーバーおよびアカウントの情報を入力していく方法です。今回はこちらを試しました。

IMAP サーバー

『IMAP サーバー』を選択すると下記のような画面が表示されます。

なお、ここの『アカウントの名称』は、左の『Eメール』タブ等で表示した際の表示名になるので、自分がわかりやすい名前を付けていきます。

『IMAPサーバーのアドレス』およびポート番号に適切な設定値を入力し、暗号化をどうするかを選択します。

問題が無ければ『追加する』を押します。追加するとこんな感じに、ユーザー名とパスワードの入力欄が表示されます。

ここに、IMAPサーバーへアクセスする際のユーザー名(メールアドレス)とパスワードを入力して、『保存』を押します。

入力した情報が間違っている場合は、

のようにエラーメッセージが表示されます。入力した情報で問題が無ければ、

のようになります。

同様に、複数のアカウントの情報を追加していきます。

なお、この流れから分かるように IMAP サーバーといいつつも、アカウント毎の入力になるため、同じメールサーバーの複数のアカウントを設定する場合は同じサーバー名を何度も入力することになります。

SMTP サーバー

SMTPサーバーの設定方法も、基本的には、IMAPサーバーと同じ操作になります。

もちろん、SMTPサーバーも複数アカウント分を追加することができます。

設定の保存

なお、 Cypht では、そのままでは変更した設定はサーバーには保存されません。なので、何もせずにログアウトすると設定がなくなってしまいます。それを避けるためには、『設定』タブから『保存』を選択して、パスワードを入力して『保存』(または『保存してログアウト』)を行う必要があります。

使い勝手

メールアカウントを設定したら、いろいろと触ってみます。

メールの表示

まず、左側の『Eメール』タブを選択します。

この例だと、アカウントを2つ設定したので、2つのアカウントが表示されています(『Junichi』 と『問い合わせ』)。ここで、アカウント名をクリックすると、そのアカウントの受信箱(INBOX)が表示されます。

また、『+』をクリックすると、このアカウントにあるフォルダが表示されます。

フォルダにサブフォルダが無い場合は、アイコンが表示され、サブフォルダがある場合は、『+』が表示される、ということのようです。

さらに、フォルダ名をクリックすると右側に件名などのメールの情報が一覧で表示されます。下記の画面はスパム判定されたメールが溜まるフォルダの内容です。

メールの件名をクリックすると、内容が表示されます(この内容もスパムメールなので、信用してはいけないですね)。

とまあ、こんな感じにメールを閲覧していくことができます。

なお、ここでは、『設定』->『サイト』->『一般』にある『メッセージをインラインで表示』にチェックを入れ、『Inline Message Style』として『Right』を選択しています。

『メッセージをインラインで表示』にチェックが無い場合は、常にメールが全体に表示されるようになります。また、『Inline Message Style』として『Inline』を選択すると、一覧画面のメールタイトルの下にメール本文が表示されるようになります。

添付ファイルの表示

Cypht は添付ファイルの表示はできないようで、画像でもPDFでも、常にダウンロードして見る必要がありました。これは残念なところです。

メールの移動

Cypht に一番期待していたのは、この機能です。元々複数のアカウントが使えるので、メールもアカウントをまたいで移動できるのではないかと期待しています。

早速試してみます。

メールを選択して、画面上部にある『移動』ボタンをクリックします。

すると、こんな感じに、設定済みのアカウントとそのフォルダが表示されます。先ほどのフォルダと同じで、『+』でサブフォルダを表示していき、任意のアカウントの任意のフォルダを選択できます。

移動先を選択すれば、メールが移動できます。

これはいいですね。

メールの送信

メールの送信は、受け取ったメールに返信すると、左側の『メイン』メニューから『作成』を選択すると、下記のようなメール作成画面が表示されます。

このとき、どのアカウントで返信するかを、画面下部のドロップダウンリストから選択することができます。

さて、ここで一つ問題がありました。

メールの送信は問題なくできるのですが、送信済みメールが残らないようです。どこかのフォルダにあるのかと思いいろいろと探しましたが、ありません。

念のため、『設定』->『フォルダー』で『IMAPサーバーを選択する』でアカウントを選択し、『Sent Folder』が Not Set だったので、これを設定してから、もう一度試しましたが、結果は変わらずでした。

うーん、もし、この通りなら結構致命的ですね。

まとめ

上記のほかにも試すことはいろいろとあるんですが、

  • メールの操作の印象があんまりよろしくない(既存の Rainloop に比べて快適にメールが見れない)
  • 送信済みメールが残らない謎が解決していない

ということで、個人的にこれを採用するのは、ちょっと微妙かな?という印象ですね。

一応、 Cypht の名誉のために言っておくと、 docker イメージは2年前に作成されたとあるので、たぶん 1.3.0 前後あたりのバージョンなんじゃないかなと推測しています(画面中にバージョン情報がなかったので GitHub の 1.3.0 のリリースが約2年前ということからの推測です)。現時点の Cypht の最新版が 1.4.0 なので、最新版にして試すとこのあたりの問題も改善されているかもしれません。

が、今回はどうしても Cypht を使いたいというわけではないので、そこまでは試していません。