Docker Mailserverを構築した後は、メールアドレスの追加・削除が非常にシンプルにできる。

基本的には、Docker Mailserverに含まれるsetup.shコマンドで管理可能になっている。

メールアカウントの追加・削除・管理

### 追加
$ ./setup.sh email add [email protected]
[パスワードの入力]

### パスワード変更
$ ./setup.sh email update [email protected]
[新しいパスワードの入力]

### リスト
$ ./setup.sh email list [email protected]
* [email protected] ( 572K / ~ ) [0%]

### 削除
$ ./setup.sh email del [email protected]

メールアカウントの追加後はdockerコンテナの再起動せずに変更が適用される。

エイリアスの追加・削除・管理

メールアドレス・アカウントを作るのではなく、複数のメールアカウントの受信を一つのメールアカウントで対応したい場合は、エイリアスを使う。

### [email protected]宛のメール => [email protected]で受ける
./setup.sh alias add [email protected] [email protected]

### 確認
./setup.sh alias list
[email protected] [email protected]

./setup.sh email list
* [email protected] ( 572K / ~ ) [0%]
    [ aliases -> [email protected]]

エイリアス - 発展編

delimiterをつかったエイリアス

以下のように、+-以降(かつ、@前まで)の文字列を無視して、同じメールアドレスとして扱う設定も可能。gmailなどでもおなじみの形式。

つまり、

のメールボックスに届くエイリアスの方式。

Dcoker Mailserverだと、以下の設定ファイルを設定し、再起動。

  • docker-data/dms/config/postfix-main.cf : recipient_delimiter = +-
  • docker-data/dms/config/dovecot.cf : recipient_delimiter = +-

rootユーザー権限で設定してく。

$ sudo -s
# vim docker-data/dms/config/postfix-main.cf
[以下を追記]
recipient_delimiter = +-

# vim docker-data/dms/config/dovecot.cf
[以下を追記]
recipient_delimiter = +-

# exit

$ docker-compose down
$ docker-compose up -d

詳細はドキュメントを参照。

Regex(正規表現)を使ったエイリアス

正規表現を使って、エイリアスを作成することも可能。 例えば、

であれば、上記の通りの正規表現にマッチする以下のような場合、全て[email protected]が受信する。

ちなみに、regexのデバッグはregex101.comが捗る。

設定方法はdocker-data/dms/config/postfix-regexp.cfに上記のRegexを追記していく。

$ sudo -s
# vim docker-data/dms/config/postfix-regexp.cf
[以下を追記]
/^test[0-9][0-9]*@m.example.com/ [email protected]

詳細はドキュメントを参照。