2005年11月15日

sendmailのデフォルトリレー先の設定

社内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して確認してください。

posted by まきすけ at 23:32| Comment(0) | TrackBack(0) | IT・Web関連 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック