電子メールスパムとは、通常、受信者は送信者を確定できず、依頼もしなかったような不要で望まない電子メールであると定義できます。秩序を乱し、費用がかかり、インターネットの通信標準を広範囲に悪用した行為です。
ありがたいことに、 Sendmail を使うと、ジャンクメールの送信に使われる新しいスパム技術の阻止を比較的容易に実現できます。デフォルトでは、有益なスパム技術までも阻止するようになっています。システムで受け付けるようにするには、/etc/mail/sendmail.cfファイルを特定の方法で変更して、意識的にアクティブにする必要があります。たとえば、SMTP リレー と呼ばれるSMTP メッセージの転送は、Sendmailのバージョン8.9 以降はデフォルトで無効になりました。この変更がされる以前は、Sendmail はメールホスト(x.org)に配信してあるパーティ (y.com) からのメッセージを受け付けてから、別のパーティ (z.net) へ送信していました。しかし、現在は、特別に Sendmail に申請して自分のドメインからメールをリレーする許可を得る必要があります。 /etc/mail/relay-domains を編集し、/sbin/servicesendmail restart コマンドをルートとで実行し、Sendmail を再起動するだけで、変更内容を有効にできます。
ただし、たいていの場合、ユーザーはインターネット上のほかのサーバーからのコントロールできないスパムメールに悩まされています。 このような場合には、/etc/mail/accessファイルから入手できるSendmailのアクセス制御機能を利用できます。 ルートで、 阻止するドメインを追加するか、特別に以下のようにアクセスを可能にするだけです。
badspammer.com 550 Go away and don't spam us anymore tux.badspammer.com OK 10.0 RELAY |
/etc/mail/accessはデータベースであるため、データベースマップを再度作成し、 makemap を使って変更内容を有効にする必要があります。 ルートでmakemap hash /etc/mail/access < /etc/mail/accessコマンドを実行すれば簡単に更新できます。
この例の場合は、badspammer.com から送信された電子メールはすべて、550 RFC 821 準拠のエラーコードで阻止され、スパム発信者にメッセージが戻されます。 tux.badspammer.comのサブドメインから送られた電子メールだけが例外で受信されます。 最後の行は、10.0.*.* ネットワークから送信された電子メールはすべて、メールサーバーを経由してリレーできることを示しています。
この例では Sendmail がアクセスの許可、阻止という面で何ができるかという点について表面的に触れたにすぎません。 詳細および例については、/usr/share/doc/sendmail/README.cf を参照してください。