目標は、私のサーバーのメールフィルタとしてThunderbirdを使用することです。したがって、Thunderbirdは、起動後にログインする必要なく、常にバックグラウンドで実行する必要があります。
以下に入れたいスクリプトがありますrc.local
。これで問題は、X転送なしでSSH経由でログインするため、ディスプレイを指定せずに指定できないことです。
me@desktop ~ $ echo $DISPLAY
me@desktop ~ $
しかし、GUIと対話しないので、ディスプレイを指定する必要はありません。しかし、1つを指定する必要があるかどうか疑問です。
Thunderbirdを始めましょう:
#!/bin/bash
su - me -c "/usr/bin/thunderbird" &
どのように動作させることができますか?
ベストアンサー1
2つの矛盾する要件があるため、簡単に答えると、ログインしないとThunderbirdで目標を達成できないということです。
インタラクティブなGUIクライアントをバックグラウンドサーバープロセスとして使用してメールをフィルタリングすることは最善の解決策ではありません。 Thunderbird はモニターなしでは実行されません。ただし、サーバーが起動後にデスクトップ環境に「あなた」を記録している場合は、Thunderbirdが自動的に起動するように設定できます。手順は、お好みのデスクトップ(gnome/kde/etc)によって異なります。それにもかかわらず、私はこのアプローチをお勧めしません。
プログラムメール(Linuxディストリビューションにはデフォルトでインストールされている可能性があります)は電子メールフィルタリング用に設計されているため、表示する必要はありません。ここで簡単で明確なチュートリアルを見つけることができます。http://www.panix.com/~elflord/unix/procmail.html
フィルタ設定、MTA 統合、メッセージ転送、アーカイブ、または削除ルールの生成の例を示します。
つまり、MTA は $HOME ディレクトリにある .forward ファイルを認識できる必要があります。このファイルには、procmail を呼び出すコマンドが含まれています。 procmail がミッションを実行するために使用するルールと設定ファイルを保持するには、 ~/.procmail ディレクトリも必要です。最後に、いくつかのデフォルト設定、デフォルト値、フィルタリングスキームの場所、およびデフォルトのメールディレクトリを定義する ~/.procmailrc ファイルがあります。
ホームディレクトリで次のように準備します。
mkdir ~/.procmail; echo "|IFS=' ' && exec /usr/bin/procmail || exit 75 #your_user_name" >> ~/.forward
上記は、procmail実行可能ファイルが/usr/binにあると想定しています。
~/.procmailrc(上記のpanix.comリンクからコピーしたもの)
VERBOSE=off
MAILDIR=$HOME/mail # elm users might use $HOME/Mail instead
PMDIR=$HOME/.procmail
DEFAULT=/var/spool/mail/elflord
LOGFILE=$PMDIR/log
INCLUDERC=$PMDIR/general.rc
# INCLUDERC=$PMDIR/other.rc
# add as many INCLUDERC's as you like
# end of .procmailrc
実際のフィルタリング...
BillというフォルダにBillが送信したメッセージをアーカイブします。
:0
* ^From.*bill@example\.com
bill
同じドメイン内のユーザーの受信トレイにメッセージを保存/保存します。
:0
* ^From.*example\.com
$DEFAULT
メーリングリストメッセージを受信トレイとは別にアーカイブするには、そのメッセージをmy-listというフォルダに保存します。
* ^From.*my.*subscribed.*list.*@
my-lists
フィルタに一致するメッセージを別のアドレスに転送します。
* ^Subject.*something-or-other
! [email protected]
複数の操作を同じフィルタに結合しても構文は大きく変わりません。これにより、受信トレイにコピーが保存され、別のフォルダに保存されます。
:0
* ^Cc.*[email protected]
* ^Cc.*me
{
:0 c
$DEFAULT
:0
SOME_FOLDER
}
これが「動作方法」に関する特定の質問に答えないことを考慮すると、電子メールフィルタリングと呼ばれる基本的な要件に対する別の解決策を提供します。