社内LAN内のサーバなどで、直接外部へ配送できないようになっている環境の場合はSendMailに対して常にリレー先のSMTPサーバを設定する必要があります。
要するに、SendMailへキューが来たら常に同じメールサーバへ転送しまくるという設定です。
なかなか情報が無くて探すのが大変だったのですが、意外と単純だったのでかえって情報が少ないのかもしれません。
ここでの環境は Fedora Core 4 またはRedHat系になります。
【設定方法】
■/etc/mail/sendmail.mc を編集する。
編集する前にsendmail.mcとsendmail.cfのオリジナルをコピーしておくことをお勧めします。
22行目あたりに、下記のようなSMART_HOSTという記述があると思うので、これを変更します。
dnl define(`SMART_HOST',`smtp.your.provider')
↓
define(`SMART_HOST',`smtp:smtp.yourdomain.jp')dnl
smtp:の後にはもちろん自分のところで使っているメールサーバ名を入れます。
(IPでも通るかは試してません)
■/etc/mail/sendmail.cf を作成。
m4コマンドでsendmail.cfを更新します。
# m4 sendmail.mc > sendmail.cf
これでSendMailを再起動すれば常に指定したサーバへリレーしてくれます(多分)
【特定のドメインだけ特定のホストへ転送したい】
転送するドメインがあらかじめ決まっている場合は、/etc/mail/mailertable にドメインと転送先のSMTPサーバを記述して、mailertable.db を更新すればOK。
/etc/mal/mailertable
----
転送するドメイン smtp:転送先SMTPサーバ
----
例)
yahoo.co.jp smtp:smtp.yahoo.co.jp
mailertable.dbの更新
# makemap hash mailertable.db < mailertable
その後SendMailをrestartさせればOK。
(2007/02/21追記)
■ メール送信テスト
$ /usr/sbin/sendmail -t -i <宛先メールアドレス>
To: <宛先メールアドレス>
Subject: <サブジェクト>
<本文>
[Ctrl]+[D]を押すと送信されます。
メールが正しく送信されたかを確認するには、/var/log/maillogをtailして確認してください。
2005年11月15日
この記事へのコメント
コメントを書く
この記事へのトラックバック

