1. ディレクトリツリーの設置
FreeBSD
Linux
MacOSX
NetBSD
OpenBSD
Solaris
Windows NT/2000/XP (XMail Server はサービスモードで動作します)
XMail Server から NT/2k/XP Binaries (xmail-1.22.win32bin.zip) をダウンロードし、解凍2. レジストリの追加
解凍された xmail-1.22\ の MailRoot を C:\MailRoot\ としてツリーを丸ごとコピー
解凍された xmail-1.22\ の *.exe, *.cmd を C:\MailRoot\bin にコピー
regedit.exe を使用し、キー HKEY_LOCAL_MACHINE\SOFTWARE\GNU\XMail\ の中に文字列を作成する3. XMail Server をサービスに登録
HKEY_LOCAL_MACHINE\SOFTWARE\GNU\XMail は存在しないはずなので作成する
MAIL_ROOT は C:\MailRoot とする
MAIL_CMD_LINE は XMail Server の起動オプションを列記する (例: -Sl)
※ MAIL_CMD_LINE については付属 Readme.txt の COMMAND LINE の章に詳細があります。
コマンドプロンプトにて C:\MailRoot\bin へ移動し、XMail Server をインストール4. 設定ファイルを編集
※ここでは --install を指定しているのでスタートアップの種類が「手動」となります。
■コマンド プロンプト
Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\MailRoot\bin>.\XMail.exe --install XMail Server installed. C:\MailRoot\bin>
--install-auto を指定すると、スタートアップの種類が「自動」になります。
C:\MailRoot\server.tab を編集する (変更後は XMail Server の再起動が必要)5. ディレクトリツリーを保護
C:\MailRoot\domains.tab に受け入れるドメインを記述する※キーワードと値を区切るのは TAB です。
"RootDomain" "example.com" "SmtpServerDomain" "example.com" "POP3Domain" "example.com" "HeloDomain" "example.com" "PostMaster" "root@example.com" "ErrorsAdmin" "root@example.com" "RemoveSpoolErrors" "0" "MaxMTAOps" "16" "ReceivedHdrType" "0" "FetchHdrTags" "+X-Deliver-To,+Received,To,Cc"
また、改行コードは \x0A に限るらしいのでエディタは改行コードの指定できるものを使用します。
バーチャルドメインが必要なら、それもここに記述する
C:\MailRoot\ctrlaccounts.tab に XMail Server の管理者を記述する --- (A)※ここでは example2.com をバーチャルと仮定しています
"example.com" "example2.com"
C:\MailRoot\smtprelay.tab にリレーの許可/拒否を記述する※管理者名とパスワードを区切るのは TAB です。
"xmailadmin" "AdminPass"
また、改行コードは \x0A に限るらしいのでエディタは改行コードの指定できるものを使用します。
※AdminPass は XMail Server 付属のコマンド xmcrypt.exe でパスワードを変換した文字列を記述します。
※ネットワークとサブネットマスクを区切るのは TAB です。
"10.0.0.0" "255.0.0.0" "172.16.0.0" "255.255.0.0" "192.168.0.0" "255.255.0.0"
また、改行コードは \x0A に限るらしいのでエディタは改行コードの指定できるものを使用します。
C:\MailRoot へのアクセスをユーザ SYSTEM, Domain Admins だけに許可し、他ユーザを拒否する6. XMail Server を起動
スタート - 設定 - コントロールパネル - 管理ツール - サービス からサービス XMail Server を開始する7. ユーザの追加 (その 1)
=>
上記 A (ctrlaccounts.tab) を設定してあれば、簡単にユーザ/ドメインの編集が可能ですが、8. 動作確認
ここでは XMail Server のワークを示すために mkusers.exe を利用します。
mkusers.exe で .\mailusers.tab, .\domains\example.com\user1\* を作成します。
これを本番用にコピーし、XMail Server を再起動すればユーザ追加は完了です。
※ XMail Server が再起動されるまで mailusers.tab が有効になりません。
ここでは user1@example.com を作成しています
■コマンド プロンプト
Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\>del .\mailusers.tab --- ユーザデータを消しておく C:\>C:\MailRoot\bin\mkusers.exe --- ユーザデータを作成 example.com;user1;password;GECOS;http://www.example.com/~user1/ ^Z C:\>move .\domains\example.com C:\MailRoot\domains\. --- ユーザのディレクトリツリーを本番にコピー C:\>type .\mailusers.tab >> C:\MailRoot\mailusers.tab --- ユーザ情報をユーザ管理ファイルに追記 C:\>
example.com 追加するユーザのドメイン名。
user1 追加するユーザ名。
password 生パスワード。mkusers.exe により暗号化されます。
GECOS Unix で言うところの GECOS フィールド。finger で参照されます。
http://www.example.com/~user1/ Web ページの URL。何に利用するのかイマイチ不明。
テストメールを送信
■コマンド プロンプト
Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\>telnet localhost 25 220 <1147793011.1304@example.com> [XMail 1.22 ESMTP Server] service ready; Wed, 17 May 2006 00:23:31 +0900 helo localhost 250 example.com mail from: <who@localhost> 250 OK rcpt to: <user1@example.com> 250 OK data 354 Start mail input; end with <CRLF>.<CRLF> Hello XMail user! . 250 OK <SB> quit 221 [XMail 1.22 ESMTP Server] service closing transmission channel ホストとの接続が切断されました。 C:\>
テストメールを確認
■コマンド プロンプト
Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\>telnet localhost 110 +OK <1147948087.178@example.com> [XMail 1.22 POP3 Server] service ready;We d, 17 May 2006 00:30:51 +0900 user user1@example.com +OK Password required for user1@example.com pass password +OK Maildrop has 1 message (267 bytes) list +OK 1 267 1 267 . retr 1 +OK 267 bytes Return-Path: <who@localhost> Delivered-To: user1@example.com Received: from localhost ([127.0.0.1]:1254) by example.com with [XMail 1.22 ESMTP Server] id <SB> for <user1@example.com> from <who@localhost>; Wed, 17 May 2006 00:23:31 +0900 Hello XMail user! . quit +OK [XMail 1.22 POP3 Server] closing session ホストとの接続が切断されました。 C:\>
上記 (その 1) では mkusers.exe を使用した面倒なユーザ追加を行いましたが、
通常は ctrlclnt.exe を使用して管理を行います。
※ GUI での管理も可能です ---> XMail Administrator 0.26 のインストール
ctrlclnt.exe で利用可能なコマンドは、Readme.txt の XMAIL ADMIN PROTOCOL の章に詳細があります。
※プロトコルの説明なので TAB 区切りや <CR><LF> の記述がありますが、 ctrlclnt.exe のパラメータとしては普通にスペースや改行となります。
※ xmailadmin, AdminPass は上記 A にて設定した情報です。
■コマンド プロンプト
Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. 登録ドメインの確認 C:\>ctrlclnt.exe -s localhost -n 6017 -u xmailadmin -p AdminPass domainlist "example.com" ドメインの追加 C:\>ctrlclnt.exe -s localhost -n 6017 -u xmailadmin -p AdminPass domainadd "example2.com" ドメインの削除 C:\>ctrlclnt.exe -s localhost -n 6017 -u xmailadmin -p AdminPass domaindel "example2.com" 登録ユーザの確認 C:\>ctrlclnt.exe -s localhost -n 6017 -u xmailadmin -p AdminPass userlist "example.com" "user1" "password" "U" ユーザの追加 C:\>ctrlclnt.exe -s localhost -n 6017 -u xmailadmin -p AdminPass useradd "example.com" "user1" "password" "U" ユーザの削除 C:\>ctrlclnt.exe -s localhost -n 6017 -u xmailadmin -p AdminPass userdel "example.com" "user1" ユーザのパスワードを変更 C:\>ctrlclnt.exe -s localhost -n 6017 -u xmailadmin -p AdminPass userpasswd "example.com" "user1" "NewPassword" C:\>
※ ctrlclnt.exe は C:\MailRoot\bin\ctrlclnt.exe のことです。短く記述しています。
※ -s localhost からも分るように、ctrlclnt.exe はリモートコンピュータの管理に使用しますが、通信路は別途暗号化する必要があります。
C:\MailRoot\custdomains\example1.com.tab
※ who@example1.com のプライマリメールサーバを mail.example1.com と仮定しています。
"smtprelay" "mail.example1.com:25"
C:\MailRoot\custdomains\sub.example1.com.tabcustdomains\ に格納するファイルの記述は、このほかにも様々な機能があります。
※ who@sub.example1.com のプライマリメールサーバを mail.sub.example1.com と仮定しています。
"smtprelay" "mail.sub.example1.com:25"
MX レコードの例
この例では mail2.example.com と mail2.sub.example.com を当該セカンダリサーバ (192.168.2.1) にしています。
; ... example1.com. MX 10 mail1.example1.com. ; プライマリメールサーバ example1.com. MX 20 mail2.example1.com. ; セカンダリメールサーバ sub.example1.com. MX 10 mail1.sub.example1.com. ; プライマリメールサーバ sub.example1.com. MX 20 mail2.sub.example1.com. ; セカンダリメールサーバ mail1.example1.com. A 192.168.0.1 mail1.sub.example1.com. A 192.168.1.1 mail2.example1.com. A 192.168.2.1 mail2.sub.example1.com. A 192.168.2.1 ; ...
例なのでローカルアドレスを使用していますが、実際は当然グローバルアドレスを使用します。