web-dev-qa-db-ja.com

Dovecot / postfix:現在のすべてのメッセージを転送します

私が達成しようとしていることは非常に単純であり、グーグルした後、私が解決策を見つけることができなかったとは信じがたいです。

私が欲しいのは、ユーザー([email protected])のすべてのcurrentメッセージ(すでに配信されている)を別の外部の私の制御できないアカウント([email protected])に転送することです。ソースサーバー(私たちのもの)は、postfix/dovecotを備えたUbuntuサーバー14.04です。

頭に浮かぶのは、bashスクリプトを使用することだけです。たとえば、すべてのプレーンテキストメールボックスのメッセージを繰り返し処理し、その内容を操作してヘッダーを消去し、sendmailを使用して転送しますが、非常にシンプルなツールまたはオプションがあるはずです。転送先のアカウントとメールファイルパスを指定するためのよく知られたツール。

1
Peregring-lk

マルコの答えに基づいて、私はこれを達成するためにいくつかのIMAP同期ユーティリティを使用しました。windows/ * nixから動作し、SSLをサポートします http://imapsync.lamiral.info/

一時的なアクセス許可をリクエストできない場合(1日程度パスワードをリセットする)、メールクライアントでアカウントを構成してメールボックスにダウンロードします。そうしないと、メールボックスからすべてのメールが送信されます。苦痛になる元の送信者。

メッセージを添付して、添付ファイルとして転送することもできます。スクリプトを使用してこれを行う方法はわかりませんが、誰かがそれを理解することができます。

mboxソリューション

Sudo apt-get install procmail

[email protected]

cat /var/spool/mail/root |
formail -k                \
        -X From:          \
        -X Subject:       \
        -X Message-Id:    \
        -X Date:          \
        -X To:            \
        -I "To: $myemail" \
        -s /usr/sbin/sendmail -t -f $myemail

ソース: resend-mail-thats-locally-stored-in-a-mbox-format-on-a-linux-box-to-a-working-email-address

3
Jacob Evans

[email protected]へのIMAPアクセスがある場合は、すべてのメールクライアントで利用できるIMAPアップロード機能を検討してください。クライアント(Thunderbird、Outlook、Windows Liveメールなど)で両方のアカウントを構成し、メッセージを1つの受信トレイから別の受信トレイにドラッグアンドドロップするだけです。または、自動IMAP移行ツールがたくさんあります。

IMAPにアクセスできない場合は、Hordeウェブメールまたはmuttコマンドラインメールクライアントで利用できる「転送」機能を使用して、元の送信者を保持できます(受信者のスパムフィルターに注意してください)。

2
Marco Marsala

メッセージファイル(Maildir)を入力としてsendmailを使用し、パラメータ-iを使用して、入力の終わりとして.文字のみを含む行を処理しないようにすることができます。

for f in *; do sendmail -i [email protected] < $f; done
0
markusf1