質問

2009年03月02日 12時02分
  • Sendmailで578ポートから送信する

情シスのオープンナレッジ『Syszo』サービス終了のお知らせ

質問

こんにちは、
是非とも皆様のお知恵をお貸しください。

現在、弊社では25番ポートをファイヤーウォールで閉じています。
今回、監視システムの導入にあたり、アラートメールを送信できる
ようにしたいのですが、25番をブロックしているので、アラートが
飛ばせない状況になっております。デフォルトですと監視サーバは
sendmailを使ってアラートメールを飛ばします。

そのためsendmailが587番を使ってメール送信するように設定を
変えたいのですが、完全に手詰まり状態です。

下記のサイトを参考にsendomail.mcやsubmit.mcを操作しており
ますが、まったくうまくいっておりません。どなたかこれで
うまくいったという事例をお知らせいただけませんでしょうか。

状況補足
・監視サーバの587番は空いている
 →nmap、chkconfig --listで確認済み
・メールサーバはホスティング。ホスティング先の587番は空いている 
 →telnetで587からログイン、メール送信可能

2件の回答があります

回答

OSは具体的にはなにですか?

一般的には
sendmail.mc ( /etc/mail ディレクトリに入っています)
ファイルを root で編集します。
1.
送信がポート587になるので、送信ポートを変更する。
m4マクロでいくと、
/etc/mail/sendmail.mcの以下を追加またはコメントを外す。

define(ESMTP_MAILER_ARGS’,TCP $h 587’)
define(SMTP_MAILER_ARGS’,TCP $h 587’)
define(RELAY_MAILER_ARGS’,TCP $h 587’)
または
define(ESMTP_MAILER_ARGS’,TCP 127.0.0.1 587’)
define(SMTP_MAILER_ARGS’,TCP 127.0.0.1 587’)
define(RELAY_MAILER_ARGS’,TCP 127.0.0.1 587’)

2.
受信ポート587にするなら、更に
DAEMONOPTIONS(`Port=587’)dnl
または
DAEMON
OPTIONS(`Port=submission, Name=MSA, M=Ea’)dnl
(先頭に dnl が無い)事
にする

3.
mcはそのままでは動かない、使われないので
m4 マクロ から、次のように m4 コマンドで sendmail.cf ファイルを生成します。
m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

4.
その後、再起動する 

/sbin/service sendmail restart

・監視サーバの587番は空いている
・メールサーバはホスティング。ホスティング先の587番は空いている 
自分の587は当然送れますよね! 

telnet 外部 587

Trying xxxx
Connected to XXXX
などで確認
2はいらなそうなので Pass? 3をしてないのでは??

2009年03月02日 14時45分

回答

OS CentOS 5.2
sendmail Version 8.13.8

あまりに情報不足でした。

2009年03月02日 18時42分