sendmailで複数ドメイン運用

あまりやりたくない運用だけれども、やらざるを得ないときもあるということで設定するための方法は以下のとおり。
1./etc/mail/local-host-namesにローカル配送するためのドメインを記述する
aaa.com
のような感じ。この設定を変更した場合には、サービスの再起移動が必要。
2./etc/mail/virtusertableにエイリアスを設定する。
たとえば、xxx@aaa.com宛てのメールを zzz@bbb.com に転送するときは
xxx@aaa.com zzz@bbb.com
とする。
3.makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable を実行して、登録内容を更新する。なお、virtusertableを変更してmakemapしたらサービスの再起動は不要。 ちなみにsendmailのキューは /var/spool/mqueue にたまるので、うまくメールが受信できないようであれば、トラブルシュートの手段のひとつとして、ここにたまっていないか確認する必要がある。

sendmailではまる

最近はSMTPサーバーにsendmailを利用せず、いきなりPostfixやqmailに置き換えすることが多いので、なかなかsendmailに触れる機会も減ってきた。とはいってもデフォルトでインストールされているので、そのまま利用しなければならないケースもまれにある。
今回は、sendmailについて無知だったために送信ができなかったケースだ。
たとえば、abc.hogehoge.com というホスト名においては、送信するドメインがデフォルトでは @abc.hogehoge.com になってしまう。ただ、多くの場合、abc.hogehoge.comはMXレコードに登録されておらず、このまま送信しようとしても、多くの送信先では送信元のMXレコードをチェックしていることが多いためはじかれてしまう。
実は、MASQUERADE_ASオプションというのがあり、sendmail.cfにて
MASQUERADE_AS(`hogehoge.com’)
とすれば送信元ドメインを変更することができる。