Procmailなしで、何も処理せずにメールをダウンロードしたい。私は次のようにfetchmailを設定しようとしています:
mda "/bin/sh -c 'cat > INBOX/new/$(date +%s_%N)'"
しかし、「yuchao_326621000」という名前のファイルが作成されましたが、予期された「1428556930_751589889」ではありませんでした。これは、fetchmailが「%s」を現在のユーザー名に置き換えるためだと思います。
では、「mda」オプションで「%」をエンコードするにはどうすればよいですか?
私が試したこと:
mda "/bin/sh -c 'cat > INBOX/new/$(date +%%s_%N)'"
mda "/bin/sh -c 'cat > INBOX/new/$(date +\%s_\%N)'"
上記の両方が機能しません。
Fetchmailのソースコード(sink.c、1183行目あたり)を読んだ後、「%」をエンコードする方法がわかりませんでした。
したがって、唯一の回避策は「%s」を回避することであり、bashの一重引用符構文を使用することで簡単になります。
mda "/bin/sh -c 'cat > INBOX/new/$(date +%''s_%N)'"