8

Postfix メール サーバーを使用しており、デバッグしたい問題があります。すべての電子メールのコピーを自分の電子メールに送信するように構成するにはどうすればよいですか (意図した受信者に電子メールを配信することに加えて)。

4

2 に答える 2

11

always_bcc=youremail@gmail.com/etc/postfix/main.cf に追加して、postfix サーバーを再起動するだけです。この行を一番下に追加しました。

本当に効いているようです。always_bcc の詳細はこちら

最初にこのファイルをバックアップすることを忘れないでください。

于 2015-11-24T14:11:22.627 に答える
9

私は最近これを機能させたので、共有したいと思います:

postfix と cyrus imap を使用して、すべての送信メールを送信済みフォルダーに送信します。

概要

postfix がすべての送信メールの bcc コピーを特別な「送信済み」メール アカウントに送信するようにします。この特別なアカウントで sieve を使用して、すべてのメールをアカウントに関連付けられた送信済みフォルダーにリダイレクトします。

  1. 送信済みの電子メール ユーザー アカウントを作成する

    これを行う最も簡単な方法は、send 用の新しい UNIX アカウントを作成し、シェルを /bin/false に設定して、誰もログインできないようにすることです。

    host$ sudo useradd sent
    host$ sudo chsh -s /bin/false sent
    
  2. 送信されたユーザーの imap を設定する

    cyradm を使用して、新しいメールボックス (つまりユーザー) を作成し、そのユーザーにすべての imap "Sent" フォルダーへの追加アクセスを許可します。

    host$ $ cyradm -user cyrus localhost
    Password: <enter you cyrus user admin password here>
    localhost> createmailbox user.sent
    localhost> setaclmailbox user.%.Sent sent append
    Setting ACL on user.userx.Sent...OK.
    Setting ACL on user.usery.Sent...OK.
    . . .
    Setting ACL on user.userz.Sent...OK.
    localhost> exit
    
  3. 送信されたアカウントの Sieve スクリプトを作成する

    このスクリプトは、すべての受信メールを送信済みアカウント、つまり送信者の受信トレイの送信済みフォルダーにリダイレクトします。

    私のスクリプトは sent.sieve と呼ばれ、次のようになります。

     # Sieve script for sent.  If outgoing email is bcc'ed to this account,
     # this sieve script will redirect it to the sender's Sent folder
     require ["fileinto"];
    
     if address :is :localpart "From" "userx" {
       fileinto "user.userx.Sent";
     }
     elsif address :is :localpart "From" "usery" {
       fileinto "user.usery.Sent";
     }
     elsif address :is :localpart "From" "userz" {
       fileinto "user.userz.Sent";
    }
    

    各ユーザー (上記の例では userx、usery、userz) のエントリを入力する必要があります。これを行うためのより良い方法を見つけることができませんでした。提案は marc@bloodnok.com まで歓迎します。

    次のように sieve スクリプトをインストールします。

    host$ sieveshell localhost -user=sent -a=cyrus
    Password: <enter you cyrus user admin password here>
    > put sent.sieve
    > activate sent.sieve
    > quit
    
  4. postfix の bcc マッピングを設定する

    postfix ディレクトリ (debian では /etc/postfix) に、次のような bcc_map というファイルを作成します。

    # copy all locally sent mail to the sent account
    @yourdomain.com       sent@yourdomain.com
    

    以下を使用して、これを後置ハッシュ ファイルにコンパイルします。

    host$ sudo postmap bcc_map
    

    次の行を postfix main.cf 構成ファイルに追加します。

    sender_bcc_maps = hash:/etc/postfix/bcc_map
    

    そして postfix に設定をリロードさせます:

    host$ sudo /etc/init.d/postfix reload

  5. テストとデバッグ

    メールを送信し、送信済みフォルダーにコピーされていることを確認します。

    問題が発生した場合は、cyrus と postfix のログ (すべて/var/log/syslog私の debian ホストに記録されています) を確認してください。入力ミスや不適切なアクセス許可により、通常、何らかの手がかりがログに送信されます。

于 2012-11-28T17:57:17.017 に答える