IAjapanロゴ
有害情報対策ポータルサイト
−迷惑メール対策編−
■ トップ > メール管理者の皆様へ > 運用情報 > 実装の導入 > 実装の導入 sendmail編
サイト紹介 | 新着情報 | 一般利用者の皆様へ | メール管理者の皆様へ | 活動・関連情報
実装の導入 sendmail編
・インストール (前編)
・インストール (後編)
・設定
・まとめ
実装の導入 postfix編
SPFとsid-milterの導入
―― Solaris10での実例
DKIMとdkim-milterの導入
―― Solaris10での実例
Submissionポートの適切な設定について
■ 2. インストール (前編)        

本稿では、すでにMTAとしてsendmailが導入済みであるという前提で話を進めます。要求バージョンを満たしている場合、sendmail自体の再コンパイルは必要ありません。ですが、多くの環境ではmilterプログラムのコンパイルに必要となるmilterライブラリは用意されていないため、ソースコードからコンパイルする必要があります。

2.1.  使用プログラム

(a) sendmail

MTAプログラムです。MTA、milterクライアントとして動作します。バージョン8.13.0よりmilterの機能が標準で組み込まれるようになりました。

以下のコマンドによりコンパイルオプションが確認できます。 「MILTER」の記述があれば組み込まれています。

$ /usr/sbin/sendmail -d0 < /dev/null
Version 8.13.4
Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETUNIX NEWDB PIPELINING SCANF USERDB XDEBUG

(b) milter

先述したとおり、sendmailのMilter APIを用いた外部プログラムです。このプログラムはmilterサーバとして動作します。milterクライアント(sendmail)との通信は、UNIXドメインソケットまたはTCPを利用することができます。スレッドに依存しているため、一部のOSでは動きません(動作確認済みのOSについては後述します)。

今回解説する実装の一覧は以下の通りです。

●表1 milterプログラム一覧

プログラム名 利用可能な機能 最新バージョン 使用バージョン
sid-milter SenderID、SPF 0.2.9 0.2.9
dk-milter DomainKeys 0.3.0 0.3.0
dkim-milter
DKIM
0.1.1 0.1.1

 

2.2. 必要環境

milterサーバは、スレッドを使用しています。そのため、スレッドの使えないOSではsendmailとmilterサーバを同一ホストで実行させることができません。milterサーバのみスレッド使用可能なホストに分離すれば、問題なく使用できます。

基本的なOSの制約は上記の通りとなります。参考までに、私が動作確認をしている環境を以下に示します。本稿の例ではSolaris 9環境にて構築、設定をしています。

  • FreeBSD 4系(一部動作不安定)
  • Solaris 8 以降
  • Linux Kernel 2.4 以降

2.3. sendmailのコンパイル

今回のmilterプログラムに必要とされるバージョンは、sendmail8.13.0.Beta3以降です。特に理由がなければ、本稿執筆時点での最新版である8.13.4の使用をお勧めします。

sendmailに関しては、MTAプログラムであるsendmail本体と、milterプログラム用のライブラリである「libmilter」をコンパイルします。使用しているsendmailが要求バージョンを満たしている場合は、libmilterのみのコンパイルで問題ありません。

以下のコマンドの実行によりmilterライブラリ(libmilter)が作成されます。

$ cd /tmp
$ gzip -dc sendmail.8.13.4.tar.gz | tar -xf -
$ cd sendmail-8.13.4/libmilter/
$ ./Build

これにより、以下のファイルが生成されていれば成功です(注:Solaris9での場合)

/tmp/sendmail-8.13.4/obj.SunOS.5.9.sun4/libmilter/libmilter.a

必要な場合はsendmail本体もコンパイルします。

$ cd /tmp/sendmail-8.13.4/
$ ./Build

各milterプログラムのコンパイルに必要となるパスは以下の通りです。

  • milterライブラリパス
    /tmp/sendmail-8.13.4/obj.SunOS.5.9.sun4/libmilter
  • includeパス
    /tmp/sendmail-8.13.4/include

 

《PREV》  
《NEXT》
IAjapanについて | 連絡先 | リンク・転載・引用・ロゴ使用について | プライバシーポリシー
 (c) 2001-2009 Internet Association Japan