リレー設定

LAN内にLinuxサーバを立てた際、デフォルトはSendmailでLogwatchなんかを送信するんだけど、直接外部に配送出来ない(OB25Pなんかでね)

そこで、外部のサーバに587番ポートでリレーしてやって転送する方法を取ることになる。

まぁ、その方法を忘れないようにメモしとこうって事(^^)

それじゃ、設定方法

vi /etc/mail/sendmail.mc

dnl define(`SMART_HOST',`smtp.your.provider')dnlの下に以下の3行を追加

define(`SMART_HOST', `esmtp:[転送に利用するSMTPサーバ]')dnl
define(`ESMTP_MAILER_ARGS',`TCP $h 587')
FEATURE(authinfo,DATABASE_MAP_TYPE` -o 'MAIL_SETTING_DIR`authinfo')

/etc/mail/sendmail.cfを作成する

cd /etc/mail/
m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

sendmail.mc:10: m4: Cannot open /usr/share/sendmail-cf/m4/cf.m4: そのようなファイルやディレクトリはありません
ってなエラーが出力したら

sendmail-cfをyumでほにょっとインストールすればオッケー

認証用のファイルを作成する

vi autoinfo


AuthInfo:hyperdc.net "U:転送先SMTPサーバ" "P:パスワード" "M:ログイン認証"

ハッシュデータベースを作成
chmod 640 /etc/mail/autoinfo
makemap hash autoinfo.db < autoinfo
chgrp smmsp autoinfo.db


ログイン認証方法が分らない場合は転送先SMTPサーバにTELNETで接続して確認できる。
telnet 転送先SMTPサーバ ポート(25か587)
Trying IPアドレス...
Connected to 転送先SMTPサーバ (IPアドレス).
Escape character is '^]'.
220 転送先SMTPサーバ ESMTP
ehlo localhost  ← 応答
250-転送先SMTPサーバ
250-AUTH=LOGIN CRAM-MD5 PLAIN ← 対応認証方式
250-AUTH LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
quit ← 応答
221 転送先SMTPサーバ
Connection closed by foreign host.

後はsendmailを再起動したら終了

お疲れ様でした(^^)