ヘッダーに元のIPアドレスを含めずにEメールを送信する

ヘッダーに元のIPアドレスを含めずにEメールを送信する

最近メールを受け取ると、次のような電子メールヘッダーが頻繁に表示されます。

Received: by FQDN (Postfix, from userid $USERID)

これは、人々がVPSにSSHでアクセスしてそこからEメールを送信できることを意味しますか?またはVPS経由でローカルコンピュータから電子メールを転送する方法はありますか?

デフォルトでは、SMTP経由で電子メールを送信するときにIPアドレスを非表示にし、VPSアドレスを使用したい場合でも同じことをしたいと思います。

答え1

VPS経由で中継すると仮定すると、Postfix経由で中継された電子メールからいくつかのヘッダーを削除したい場合は非常に簡単です。

  1. /etc/postfix/header_checks次の名前の新しいファイルを作成します。

    /^Received:.*with ESMTPSA/              IGNORE
    
  2. ルックアップテーブルを再作成します。

    # postmap /etc/postfix/header_checks
    
  3. /etc/postfix/main.cf次の行を編集して追加します。

    smtp_header_checks = regexp:/etc/postfix/header_checks
    
  4. postfixを再起動してください(ここではDebian / Ubuntuを想定しています):

    # /etc/init.d/postfix restart
    

今すぐメールを送信すると、最後のメールを除くすべてのコンテンツが表示されます。受け取ったヘッダーが削除されました。

答え2

これを理解する最善の方法は、直接電子メールを送信するさまざまな方法を試してみることです。

私はUIDが2つの要因によって変わることを発見しました(しかしそれ以上の可能性があります)。

  1. スクリプトがsendmailバイナリを使用している場合、スクリプトを呼び出すユーザーのUIDが反映されます。
  2. スクリプトがSMTP接続を直接使用する場合は、MTAのUIDを使用してください。

答え3

2つの考え:

VPSでプロキシを設定します(SSHポート転送、nc、または受信ヘッダーを追加しない一種のSMTPフォワーダを使用)。

VPSで実行されるプログラムを作成し、電子メールを受信して​​からローカルに電子メールを注入します(コマンドラインでsendmail / postfixを使用するか、localhostポート25に接続します)。

答え4

これらのヘッダーは、メッセージが宛先に到達すると、メッセージが接続されているサーバーによって自動的に追加されます。 VPSのサーバー名を表示するには、ローカルメール設定でVPSを「スマートリレー」として使用する必要があります。 sendmail の場合、これは /etc/mail/sendmail.cf ファイルの SMART_HOST 定義を通じて行われます。その後、VPSはあなたのメールだけを正しく転送でき、どの種類のブラックリストにもないことを確認する必要があります(私の経験ではVPSでは一般的です)。または、VPSをメールホストとして使用し、ローカルMTAなしでIMAPを介して簡単に接続できます。

関連情報