差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
mail [2021/05/27 22:18] skkmail [2024/09/04 16:44] (現在) skk
行 1: 行 1:
-= [[mail]]+= [[mail]] / LM: [2024-09-04 16:43:44] 
 +~~NOCACHE~~
  
 メールサーバの設定についてのメモを置く場所. メールサーバの設定についてのメモを置く場所.
行 145: 行 146:
   zlib_save_level = 6   zlib_save_level = 6
 } }
 +</code>
 +
 +[2023-04-29] 
 +
 +追記:
 +
 +mdbox を見ても,テキストで保存されていた.
 +
 +plugin lda の中の mail_plugin にも zlib を追記しないと動かなかったかもしれない.
 +
 +<code>
 +protocol lda {
 +  deliver_log_format = msgid=%m: %$
 +  info_log_path = /var/log/dovecot-lda.log
 +  log_path = /var/log/dovecot-lda.log
 +  mail_plugins = sieve zlib
 +...
 </code> </code>
  
行 185: 行 203:
 doveadm の man の中に,色々なコマンドが書いてあり,doveadm-command という名前で man が準備されている. doveadm の man の中に,色々なコマンドが書いてあり,doveadm-command という名前で man が準備されている.
 基本的に root (または,mail ユーザ)でないと動作しない. 基本的に root (または,mail ユーザ)でないと動作しない.
 +
 +=== doveadm purge ===
 +== マニュアル ==
 +<code>% man doveadm-purge </code>
 +
 +== 基本 ==
 +メールに対しての refcount が 0 になってるものを実際にストレージ上から削除するコマンド.Disk I/O の少ないタイミングで実行される,と記述があったが,実際に実行されているかの確認は [2021-12-31] 現在,とれていない.
 +
 +[2024-09-04] 少なくとも利用しているファイル保存形式が mdbox の場合,メールクライアントからメールを大量に削除しただけでは,まだ,ストレージ自体の削減にはならないが,sudo doveadm purge -u hoge@hoge.com を実行した後は,ストレージが削減されているのを確認できた.doveadm mailbox で確認できるサイズよりもずっと多くのストレージが削減されているように見えている.base64 やファイルシステムのブロックサイズが影響するのか…?と妄想するが,確認はとれていない.
 +
 +== 具体例 ==
 +  * 特定ユーザのメールボックスを確認し,refcount が 0 なら削除する.
 +% sudo doveadm purge -u hoge@hoge.com
 +
 +  * 全ユーザのメールボックスを確認し,refcount が 0 なら削除する.
 +% sudo doveadm purge -A 
  
 === doveadm search === === doveadm search ===
行 463: 行 497:
   * sieve と replicator の相性が悪い気がする.   * sieve と replicator の相性が悪い気がする.
   * sieve は記述言語の癖が大きいのと,記述ミスをするとメールがなくなる時があり,なかなか恐い.   * sieve は記述言語の癖が大きいのと,記述ミスをするとメールがなくなる時があり,なかなか恐い.
-  * imapfilter は,lua というプログラミング言語で記述するため,振り分けルールの中の記述自由度が高い.変数なども使える.記述を間違った際は,imapfilter が動作しないだけなので,メール紛失の危険が低い. +  * [[imapfilter]] は,lua というプログラミング言語で記述するため,振り分けルールの中の記述自由度が高い.変数なども使える.記述を間違った際は,imapfilter が動作しないだけなので,メール紛失の危険が低い.
- +
-==== imapfilter ==== +
- +
-imapfilter は,imap サーバに対して imap コマンドを発行することで振り分けを行うプログラム.上述の通り,lua というプログラミング言語を利用して,フィルタリングを行う. +
- +
-記述を間違った場合,実行の時点でエラーが吐かれるので,メール紛失の危険が少ない. +
- +
-=== 初期設定 === +
- +
-$HOME/.imapfilter/config.lua に全ての記述を行う. +
- +
-<file lua> +
-options.timeout = 300 +
-options.create = true +
-options.subscribe = false +
-options.expunge = true +
-options.namespace = false +
- +
-mail2 = IMAP { +
-  server = "mail.hoge.com", +
-  username = "username", +
-  password = "password", +
-  ssl = "auto" +
-+
-</file> +
- +
-options.create を指定しておくと,フィルターで存在しないフォルダが指定されている場合に,新規作成してくれる. +
- +
-=== ルール記述 ===  +
- +
-フィルタルールに引っかかるメッセージの検索は,以下のように行う. +
- +
-<code lua> +
-m = mail2["INBOX"]:contain_to("hoge@hoge.com"+
-m:move_messages(mail["hogemailobx"]) +
-</code> +
- +
-contain_to の部分が,メソッドのようなもので,色々な命令が存在する.現在,実際に利用したのは,以下. +
- +
-| contain_to("hoge@hoge.com"                  | To に hoge@hoge.com が含まれている場合         | +
-| contain_cc("hoge@hoge.com"                  | Cc に hoge@hoge.com が含まれている場合         | +
-| contain_field("X-BeenThere", "hoge@hoge.com") | X-BenThere に hoge@hoge.com が含まれている場合 | +
-| match_from(".*@hoge.com"                    | From に @hoge.com ドメインが含まれている場合   | +
-| match_field("X-BeenThere", "ict1.*)           | X-BeenThere が ict1 で始まる場合               | +
- +
-また,複数の命令を and / or で繋げることもできる.and で繋げる場合は * ,or で繋げる場合は + を使う.以下の例は,X-Redmine-Project と X-Redmine-Host の両方がマッチした場合に,メールを移動させる例になる. +
- +
-<code lua> +
-m = mail2["INBOX"]:match_field("X-Redmine-Project", "project1-.*"+
-    * mail2["INBOX"]:X-Redmine-Host("redmine.hoge.com"+
-m:move_messages(mail["project1-folder"]) +
-</code> +
-   +
  
 ===== spamassassin 設定 =====  ===== spamassassin 設定 ===== 
行 791: 行 771:
  
  
 +----
 +このページへのアクセス
 +今日: {{counter|today}} / 昨日: {{counter|yesterday}}
 +総計: {{counter|total}}
  
mail.1622121513.txt.gz · 最終更新: 2021/05/27 22:18 by skk
文書の先頭へ
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0