2011-11-09 4 views
2

で受信者に基づいて、現在、私は次のように.forwardファイルで受信メールをフィルタリングしていますFORWARD:Eximのは:BCC

if $header_to: matches "(office|info)@domain.com" then 
    save Maildir/.office/ 
endif 
if $header_to: matches "[email protected]" then 
    save Maildir/.whatever/ 
endif 

だから私は別のアドレスに対してメールを受信したメールアカウントを持っています。基本的には、メールが送られたアドレスに基づいて、それらを異なるサブディレクトリに置くようにします。

これは、受信者がtoのヘッダーにあるメールでは機能しますが、受信者がbccの場合は機能しません。 bcc -headerで送信された

メールが受信され、メールがに配信され、それは私がすでに

Envelope-to: [email protected] 

Received: from mail.other.domain ([1.1.1.1]) 
    by mail.domain.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) 
    (Exim 4.71) 
    (envelope-from <[email protected]>) 
    id 1RO5xc-0001TF-Qj 
    for [email protected]; Wed, 09 Nov 2011 12:04:57 +0100 
... 
To: [email protected] 

-header Receivedに記載されている実際のアドレスと一致-headerのみenvelope-to試してみました:

if $header_envelope-to: matches ... 

が、これは動作しません、メールが(To -headerで送信された場合でも、全くフィルタリングされないEnvelope-To -headerがFORWには使用できないように見えますARDファイル)。 (複数の)Receivedヘッダーを解析する必要がありますか?

受信者アドレスに基づいて、受信者のサブディレクトリにメールを移動するにはどうすればよいですか?

答えて

1

私は最終的に答えを見つけたように見えます。

if $original_local_part matches "office|info" then 
    save Maildir/.office/ 
endif 

これだけlocal_partをチェックしますが、私の知る限りで$original_domainで、あまりにも、ドメインを使用するように拡張することができた(the docを参照)

0

変数$recipientsはすべて(toccbcc)受信者が含まれています。あなたはそれを試しましたか?

関連する問題