おやじ様のページを参考(ほぼそのまま)に以下の環境でバーチャルメールサーバを構築しようとしています。
(大感謝です。!)
CentOS 4.3
postfix 2.1.5-4.2
Dovecot 0.99.11-2.EL4.1
Squirrelmail
PostfixAdmin
今後の拡張を考慮しておくのと、PostfixAdminで管理したいためにバーチャルドメイン対応させて運用していますが、
しばらくは1ドメインでしか運用しない予定です。
それなので、pop3/smtp/imapなどの認証時、できればuser名はアカウント名だけ
( aaa@example.com でなく、aaa で)
ログインさせたいと考えております。
(当然パスワードは設定します。)
以前qmailで構築したときは defaultdomain 設定項目があり、そこに設定したドメインにログインするときは
ドメイン名を省略することができました。
postfixでそのような設定をご存知ありませんか?
> CentOS 4.3
> postfix 2.1.5-4.2
> Dovecot 0.99.11-2.EL4.1
> Squirrelmail
> PostfixAdmin
>
> 今後の拡張を考慮しておくのと、PostfixAdminで管理したいためにバーチャルドメイン対応させて運用していますが、
> しばらくは1ドメインでしか運用しない予定です。
>
> それなので、pop3/smtp/imapなどの認証時、できればuser名はアカウント名だけ
> ( aaa@example.com でなく、aaa で)
> ログインさせたいと考えております。
> (当然パスワードは設定します。)
>
> 以前qmailで構築したときは defaultdomain 設定項目があり、そこに設定したドメインにログインするときは
> ドメイン名を省略することができました。
> postfixでそのような設定をご存知ありませんか?
Dovecotもそうですが、そもそもMySQLで認証するのにドメイン込みで見るので駄目です。
因みに管理者側の発想かもしれませんが、バーチャルドメインで運用するなら、後で混乱するので最初からそういうものだと周知しておくほうが間違いないと思いますが?
> Dovecotもそうですが、そもそもMySQLで認証するのにドメイン込みで見るので駄目です。
> 因みに管理者側の発想かもしれませんが、バーチャルドメインで運用するなら、後で混乱するので最初からそういうものだと周知しておくほうが間違いないと思いますが?
おやじ様
ご回答ありがとうございます。
・今、qmailで アカウント名だけで運用しており、切り替えのタイミングで トラブル(ユーザの設定変更ミス)をなるべく起こしたくない。(何せ、アカウントが700以上もあるんで・・)
・バーチャルで複数ドメインの管理をするようになったとしても
99%のユーザは1ドメインに集中すると思われる。
このようなことがわかっているので、できるだけ省略させてあげたいと思っています。
$mydestination , $mydomain を使ってどうにかしてユーザ名が入力されたときに最後が".co.jp" でなかったら
$mydomainを後ろに付加して 認証に渡す、みたいなスクリプトをどこかで実行させれば 結構簡単にいけそうなんですけどね。
ちょっと英語の文書を調べてみようとおもいます。
ありがとうございました。
設定ファイル郡を見直したところ、dovecot-mysql.conf にユーザ認証の設定を発見しました。
user_query = SELECT concat('/usr/local/virtual/', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = '%u' AND active = '1'
を
user_query = SELECT concat('/usr/local/virtual/', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = concat('%u','@example.com') AND active = '1'
みたいに変更すれば簡単にいけそうです。 (password_queryも同様に)
(この例では省略しないとNGになってしまいますが(^^;)
case文を用いて ドメインが省略されている・されていないを判別してあげればうまく
いけるような気がします。
自分はMySQLは使ったことないのですが、ちょっと調べれば簡単にいけそうです。
できたら報告させていただきます。
> 設定ファイル郡を見直したところ、dovecot-mysql.conf にユーザ認証の設定を発見しました。
>
> user_query = SELECT concat('/usr/local/virtual/', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = '%u' AND active = '1'
>
> を
>
> user_query = SELECT concat('/usr/local/virtual/', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = concat('%u','@example.com') AND active = '1'
>
> みたいに変更すれば簡単にいけそうです。 (password_queryも同様に)
> (この例では省略しないとNGになってしまいますが(^^;)
>
> case文を用いて ドメインが省略されている・されていないを判別してあげればうまく
> いけるような気がします。
>
> 自分はMySQLは使ったことないのですが、ちょっと調べれば簡単にいけそうです。
>
> できたら報告させていただきます。
Courier-IMAPは、主たるドメインでメーラのアカウント設定で「@ドメイン」を省略したい場合に、そのドメインを「DEFAULT_DOMAIN」で指定しておけば補完してくれるので、こちらを利用すると良いです。
こうすると、Postfix側のsaslauthdでCourier-IMAPのauthdaemonを使用すればSMTP-AUTHもドメイン省略できますので。