web-dev-qa-db-ja.com

sendmail:ワイルドカードMXを単一のメールアドレスに転送します

すべてのメールを**@**。crm.mycompany.comから[email protected]に転送するようにsendmailを設定しようとしています。残念ながら、私のsendmail-fuはそれに対応しておらず、Googleで役立つものを見つけることができません。

私の計画は、既存の内部Linuxサーバー(CentOS 5)を使用し、スペアの外部IPの1つからそのサーバーにSMTPトラフィックをポート転送し、その外部IPを指すようにワイルドカードMXレコードを設定することでした。しかし、私はこれでsendmailを機能させることができませんでした。

ワイルドカード以外のケースを機能させることができました。 test.crm.mycompany.comを/ etc/mail/local-Host-namesに追加し、「@ test.crm.mycompany.com」行をvirtusertableに追加します。ただし、ワイルドカードの場合の方法がわかりません。これらのファイルはドメイン名にワイルドカードを受け入れていないようです。ワイルドカードDNSを管理できる構成は、relay_entire_domainだけです。ただし、テストドメインをリレー用に構成すると、virtusertableとprocmailが無視され、メールをリレーしようとするだけです。したがって、リレーメール用にこれらのいずれかをトリガーできない限り、とにかくこれを管理できるとは思いません。そして、ここでの最後の問題は、mycompany.comに$ = mを設定できないように見えることです。これは常に内部ドメイン名(ホスト名はserver.internal.lan、$ = mはinternal.lan)とDOMAIN(mycompany)です。 sendmail.mcの.com)dnlは、/ usr/share(?)からファイルをインクルードしようとします。

私がやろうとしていることは可能ですか?このために内部サーバーを再利用したいと思っていました-サーバーをファイアウォールの外側に配置する必要がありますか、それともDMZ)に配置する必要がありますか?

提案をありがとう!
ルパート。

3
Rup

お気づきのとおり、DNSワイルドカードが必要です。

ワイルドカードアドレスからのメールが届くと、sendmailはそれをどう処理するかわかりません。 sendmailの書き換えルールを追加して、ワイルドサブドメイン部分をメインドメイン部分に書き換えることで、これを修正できます。

sendmail.mc内:

LOCAL_NET_CONFIG  
R $+ < @ $+ .example.com. > $*    $: $1 < @ example.com > $3       dnl

左側のルールを右側の置換から分離するためのタブが必要であることに注意してください。 ($*は左側を終了し、$:は右側を開始します。)左側の末尾のドットは必要な場合と不要な場合があることに注意してください。また、右側とコメントの後に2番目のタブが必要であることに注意してください($3dnlの間)。

Example.comがrelay-domainsファイルにあることを確認する必要があります。

書き換えルールによってドメインが折りたたまれたら、ドメインのすべてのメールをvirtusertableエントリを持つ単一のユーザーにルーティングできます。

@example.com  luser

それはそれをするべきです。

3