2008-09-04 11 views
6

ファイアウォールの背後にあるネットワーク上のサーバを設定しています。このコンピュータ上のプログラムでsendmailを使用してメールアドレスにメールを送信できるようにします。私たちは、このネットワーク上で実行されているSMTPサーバ(mailrelay.example.comと呼ぶ)を持っています。これは、私たちがファイアウォールを通ってメールを送信する方法です。ファイアウォールの背後でsendmailを設定する

mailrelay.example.comですべてのメールを送信するようにsendmailを設定するにはどうすればよいですか?グーグルは私にまだ答えを与えておらず、sendmailの設定が非常に複雑で迷惑であることを明らかにしただけです。

答えて

11

@eli:sendmail.cfを直接変更することは、マクロコンパイラによって生成されるため、通常はお勧めできません。

define(`SMART_HOST',`mailrelay.example.com')dnl 

sendmail.mcマクロ設定ファイルを変更した後、sendmailの設定ファイルを生成する を再コンパイルする必要があります。

編集/etc/mail/sendmail.mcを行を含むことができます。

# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf 

そして、sendmailサービスを再起動する(Linux):

# /etc/init.d/sendmail restart 

だけでなく、スマートホストを設定するなど、あなたはまた、名前解決の設定を無効にして、おそらく非標準ポートへのあなたのsendmailのをシフトする場合があります、デーモンモードを無効にする。火壁のネットワーク内にあるか、ネットワークがDNSやNISサービスが利用できない可能性があり 変換(NAT)を使用してアドレス

無効に名前解決

サーバー。それは、デフォルトでDNSを使用しますので、これは、 にsendmailの問題を作成し、それが 利用できない場合、あなたはのmailqでこのようなメッセージが表示されます。

host map: lookup (mydomain.com): deferred) 

あなたは、セットアップ、適切なDNSやNISに用意されていない限り sendmailが使用できるサービスの場合、通常は/ etc/hostsファイルを使用して、名前 の解決を行うように設定します。

1:行を含めるためにsendmailの 編集/etc/mail/sendmail.mcを用service.switchを有効にする:これは以下のように、「service.switch」ファイル を有効にすると、ファイルによって解像度を指定することによって行われ

define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl 

2:

# cat /etc/mail/service.switch 
    hosts files 

3:Recompil名前だけ 解決のための/ etc/hostsファイルを参照するために/etc/mail/service.switchを作成または変更 ファイルに対してservice.switchを設定しますこの設定を有効にするには、sendmail.mcとsendmailを再起動してください。

デフォルトでは非標準ポートへのsendmailのシフト、または無効にデーモンモード

あなたはこのポート を変更したり、様々な理由のために完全にsendmailデーモンモードを無効にすることが25、sendmailは、ポートでリッスンします: - よく知られているポートの使用を禁止するセキュリティポリシーがある場合 - 標準ポートの別のSMTP製品/プロセスが同じホスト上で実行される場合 - smtp経由でメールを受け入れたくない場合sendmailを使ってsendmailを送信してください。

1:標準以外のポートを使用するようにsendmailをシフトします。 編集/etc/mail/sendmail.mcをと "ポート" の行に設定変更します。たとえば

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') 

、ポート125を使用してsendmailを取得するには:

DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA') 

をこれはsendmailのが必要になります.mcを再コンパイルし、sendmailを再起動します。

2:別の方法として、(Linux)の 編集の/ etc /のsysconfig/sendmailを完全にsendmailデーモンモードを無効にし、 "DAEMON" とは設定を変更するには:この変更は、再起動するsendmailを必要とします

DAEMON=no 

+0

ありがとうございます! 'service.switch'に関するこのヒントは私の問題を解決しました。 –

5

http://www.elandsys.com/resources/sendmail/smarthost.html

Sendmailのスマートホスト

スマートホストは 送信メールが中継されてホストです。一部のISP は、発信SMTPトラフィック(ポート25)をブロックします。ユーザーは、 のメールを に送信して、すべてのメールを に送信する必要があります。 Sendmailは のISPのメールサーバーをスマート ホストとして使用するように構成できます。

これを設定する方法については、リンク先の記事を参照してください。

3

@エスポ:どこから始めるべきかアドバイスをいただきありがとうございます。既存の設定を使用してこの小さな変更を行うのではなく、最初の使用のためにsendmailを設定していたとすれば、あなたのリンクは良いでしょう。しかし、いったん "SmartHost"のものを探すことを知ったら、私は簡単な方法を見つけました。

私がしなければならなかったすべては、sendmailを再起動し、それが働いた

DSmailrelay.example.com 

DS 

を変更するには、私の/etc/mail/sendmail.cfファイルを編集しました。

関連する問題