Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Fdmのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Fdm
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{DISPLAYTITLE:fdm}} [[Category:メールサーバー]] [[Category:メール取得エージェント]] [[en:Fdm]] {{Related articles start}} {{Related|Alpine}} {{Related|msmtp}} {{Related|Mutt}} {{Related|Postfix}} {{Related|SSMTP}} {{Related articles end}} '''fdm''' (''fetch and deliver mail'') はメールを取得・フィルタリングするシンプルなプログラムです。同じ用途で使われる他のプログラムと比べて、[[Mutt]] と同じような設計思想で作られています。 == インストール == {{Pkg|fdm}} パッケージを[[インストール]]してください。 == 設定 == '''fdm''' は設定ファイルを通じて構成できます。 デフォルトは {{ic|~/.fdm.conf}} または {{ic|/etc/fdm.conf}} 存在しない場合 詳細については、マニュアル ページ {{man|1|fdm}}、{{man|5|fdm.conf}}、および {{ic|/usr/share/doc/fdm-git/MANUAL}} を見てください。 === mbox === Alpine は mbox フォーマットを使用するため、複数のファイルを作成する必要があります: $ cd $ mkdir mail $ touch mail/INBOX .fdm.conf $ chmod 600 .fdm.conf mail/INBOX === maildir === Mutt は大文字のメールディレクトリを使用し、maildir フォーマットを使うことができます。Mutt を使う場合は以下のようにセットアップしてください: $ cd $ touch .fdm.conf; chmod 600 .fdm.conf $ mkdir -p Mail/INBOX/{new,cur,tmp} === 最終設定 === {{ic|.fdm.conf}} を編集して、メールアカウントと基本的なフィルタールールを追加してください。mbox か maildir のどちらかを使います。 ## .fdm.conf ## Accounts and rules for: #> foo@example.com #> bar@gmail.com ## Last edit 21-Dec-09 # Catch-all action (mbox): action "inbox" mbox "%h/mail/INBOX" # Catch-all action (maildir): # action "inbox" maildir "%h/Mail/INBOX" account "foo" imaps server "imap.example.com" user "foo@example.com" pass "supersecret" account "bar" imaps server "imap.gmail.com" user "bar@gmail.com" pass "evenmoresecret" # Match all mail and deliver using the 'inbox' action. match all action "inbox" 上記の設定で、設定したアカウントからメールが INBOX フォルダに集配されます。他のタイプのメールサーバー (例: POP3) に接続する方法は {{ic|fdm(1)}} の man ページを参照してください。 {{Tip|{{ic|.netrc}} ファイルでログイン名とパスワードを指定することもできます。}} == パスワードマネジメント == メールアカウントのパスワードは、設定ファイルにプレーンテキストで保存するか、シェルコマンドでパスワードマネージャーやキーリングから要求することができます。{{ic|$(cmd ...)}} 方式 === パスワードマネージャーの使用 === 以下は、'''pass'''を使った例です。 account "foo" imaps server "imap.example.com" user "foo@example.com" pass $(pass foo-email-entry | head -1) === Gmail の OAuth2 認証 === fdm は OAuth2 アクセストークンを使用することができ、'''gmail''' でも使用することができますが、OAuth2 認証情報の更新や認証の機能が欠けています。包括的な解決策としては、[https://github.com/pdobsan/mailctl mailctl] ユーティリティを使用することで、IMAP/SMTP クライアントに OAuth2 認証情報の更新と認証の機能を提供することができます。 設定例: account "foo" imaps server "imap.gmail.com" user "foo@gmail.com" pass $(mailctl access foo@gmail.com) oauthbearer アクセストークンの更新はユーザーから見えないようにバックグラウンドで自動的に行われます。 '''mailctl'' は AUR からバイナリパッケージとして入手できます: {{AUR|mailctl-bin}} === cron からの実行 === 上記の例はインタラクティブに使用する分には問題ありませんが、cron ジョブから使用する場合は少し複雑です。 というのも、呼び出されるプログラムのいくつかは、特定の環境を期待することがあるからです。 ラッパー・スクリプトを使用し、必要な環境変数をエクスポートすることで、この問題を回避することができます。 ここでは、そのようなスクリプトのためのいくつかのトリックを紹介します。 ... # パス export PASSWORD_STORE_DIR=~/.local/var/password-store ... # gnome のキーリングを使用する場合 # secret-tool はこの2つの envar が必要です # そこで、このスクリプトが cron ジョブで実行されるために、それらを偽造します。 export DISPLAY=${DISPLAY:-:0} export DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS:-unix:path=/run/user/$UID/bus} ... == テスト == 設定が上手くいったら、fdm を手動で実行してメールを取得してみてください: $ fdm -kv fetch エラーがあった場合、サーバー上のメールには手を付けられません。出力を確認して設定通りに動作することをチェックしてください。お好きなメールリーダー (MUA) を開いて集配されたメールが読めることを確認しましょう。 == 高度な使用方法 == fdm のユーザビリティを向上させる補助機能。 === フィルタリングの追加 === 特定のアカウントからのメールを特定のメールボックスに保存したい場合、以下の行を {{ic|fdm.conf}} ファイルに追加します。上記の設定ファイルなら、{{ic|''bar@gmail.com''}} のメールを {{ic|''bar-mail''}} フォルダに振り分けたい場合、既存の "action" 行の下に以下を追加してください: action ''bar-deliver'' mbox "%h/mail/''bar-mail''" 必要に応じて {{ic|mbox}} を {{ic|maildir}} に変更したり、パスを確かめて下さい。 新しいアクションを有効にするために、既存の "match" 行の前に追加を追加: match account ''bar'' action ''bar-deliver'' これで {{ic|''bar@gmail.com''}} 宛の全てのメールが {{ic|''bar-mail''}} メールフォルダに行くようになります。 === 自動化 === fdm はデーモンとして動作しないので、メールの時間指定は [[cron]] や [[systemd/タイマー|systemd タイマー]] のようなジョブスケジューラに任されています。 このセクションでは、その両方の実装を紹介します。 ==== cron による自動化 ==== すべてのアカウントから 15 分ごとにメールを取得して並べ替え、一致するすべてのログをローカル ファイルに追加します。: {{hc|$ crontab -e| ... */15 * * * * fdm fetch >> $HOME/[Mm]ail/fdm.log }} ==== systemd タイマー ==== ローカル ユーザーがすべてのアカウントからメールを取得して並べ替えるように fdm サービスをセットアップします。: {{hc|${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user/fdm.service|<nowiki> [Unit] Description=Fetch mail using fdm After=network.target network-online.target dbus.socket Documentation=man:fdm(1) [Service] Type=oneshot ExecStart=/usr/bin/fdm fetch </nowiki>}} 次に、15 分ごとにサービスを実行するようにタイマーを設定します。: {{hc|${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user/fdm.timer|<nowiki> [Unit] Description=Fetch mail using fdm [Timer] # Uncomment to run the service two minutes after booting # OnBootSec=2m OnUnitActiveSec=15m Persistent=true [Install] WantedBy=timers.target </nowiki>}} 最後にユーザーユニット {{ic|fdm.timer}} を [[起動/有効化]] します。 == 参照 == *[https://github.com/nicm/fdm fdm の公式サイト (github)] *[https://lists.sourceforge.net/lists/listinfo/fdm-users fdm-users メーリングリスト]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
Fdm
に戻る。
検索
検索
Fdmのソースを表示
話題を追加