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を再起動したら終了
お疲れ様でした(^^)