sendmail のコンパイルオプションを確認する




sendmail のバイナリファイルを作成するにはコンパイルが必要になる。

sendmail のオプション機能を使えるようにするには、
このコンパイルの際にオプションを指定しておく必要がある。

したがって、sendmail がどのようなコンパイルオプションで
コンパイルされているかは非常に重要になる。

sendmail がどのようなコンパイルオプションでコンパイルされているかは
次のコマンドで確認できる。

# /usr/lib/sendmail -bt -d0.1
Version 8.13.7
 Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
                NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NISPLUS
                PIPELINING SCANF USERDB XDEBUG

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = test01
  (canonical domain name) $j = $w.$m
         (subdomain name) $m = example.com
              (node name) $k = test01
========================================================

ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>

コンパイルオプション 「MILTER」 などが組み込まれていることが分かる。

終了は、[Ctrl] + [D]

ちなみに、上記コマンド実行時には次のようなプロセスが別で立ち上がるだけなので、
コマンドを実行しても元々動作している sendmail には影響は無い。

# ps -ef | grep sendmail
    root 15423     1  0   May 31 ?        0:04 /usr/lib/sendmail -bd -q15m
   smmsp 15421     1  0   May 31 ?        0:32 /usr/lib/sendmail -Ac -q15m
    root  2677  2672  0 09:16:03 pts/1    0:00 /usr/lib/sendmail -bt -d0.1

別のサーバでも実行してみた。

# sendmail -bt -d0.1
Version 8.12.6
 Compiled with: DNSMAP EGD LDAPMAP LOG MAP_REGEX MATCHGECOS MILTER
                MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETUNIX NEWDB NIS NISPLUS
                PIPELINING SASL SCANF STARTTLS TCPWRAPPERS USERDB USE_LDAP_INIT

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = test02
  (canonical domain name) $j = $w.$m
         (subdomain name) $m = sub.example.com
              (node name) $k = test02
========================================================

ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>

こちらは 「MILTER」の他に、「SASL」 や 「STARTTLS」 も組み込まれていることが分かる。