状態
私は以下を持っています~/.fetchmailrc
poll pop.gmail.com protocol pop3 user "[email protected]" password "***" ssl
mda "/usr/bin/procmail -d default -a foo@example-com"
poll pop.gmail.com protocol pop3 user "[email protected]" password "***" ssl
mda "/usr/bin/procmail -d default -a bar@example-com"
したがってfetchmail -v -m '/usr/bin/procmail -d %T'
。
質問
ところが問題はすべてのアカウントが復旧されたという点だ。
質問
特定のアドレスのメールのみを取得するようにfetchmailコマンドを要求できますか?
答え1
各アカウントに異なる名前を付け、via
オプションを使用できます
例えば
poll foo via pop.gmail.com ...
poll bar via pop.gmail.com ...
コマンドラインで各項目を指定できるようになりました。fetchmail foo
そのアカウントのメールのみを取得します。
Outlook では、次の種類の構造を使用します。
poll outlook via imap-mail.outlook.com port 993
proto IMAP
user [email protected] is foo here
fetchall
password *****
ssl
poll outlook2 via imap-mail.outlook.com port 993
proto IMAP
user [email protected] is bar here
fetchall
password *****
ssl
これはzshで次のように達成できます。
メッセージ検索のためのエイリアスと機能
alias retrieveallmails="fetchmail -v -m '/usr/bin/procmail -d %T'" # For all the accounts
function retrievemail()
{
# For a specific account
fetchmail $1 -v -m '/usr/bin/procmail -d %T'
}
関連完了
_retrievemail_complete() {
local accounts
accounts=($(fetchmail --configdump | sed -n 's/.*"pollname":"\(.*\)",/\1/p'))
_arguments \
'1: :->account' \
'*:: :->arguments'
case $state in
(account)
_describe 'accounts' accounts
;;
(arguments)
_files
;;
esac
}
compdef _retrievemail_complete retrievemail