Top過去ログ目次掲示板

作成日:2007年03月07日 作成:おやじ
掲示板で過去に質問された内容です。

No.6805 ローカルパートとドメインが別々のデータベースに格納されている場合の検索方法


No.6805 投稿時間:2007年03月07日(Wed) 00:16 投稿者名:ゆうや URL:
タイトル:ローカルパートとドメインが別々のデータベースに格納されている場合の検索方法

お世話になっております。
おやじ殿しか相談する先がなくやってまいりました。
ご指導頂ければ助かります・・・。

MySQLのデータベースで2つのデータベースにユーザーデータが分けられて格納されているとします。
[user]
(username) (domainno) (password)
hogehoge 1 himitsu
anon 2 anon
[domain]
(no) (domainname)
1 hoge.co.jp
2 anon.com

これであるプログラムで与えられたメールアドレスが
上記データベースで照会してmatchするか表すことはできるのでしょうか・・・。

eximでrcpt時にどうしてもユーザーの存在確認をしたく調べていたのですが
とりあえずACLでrecipientsという設定で調べられそうなことがわかりました。
しかしその場合
recipients = $sq(SELECT・・・
と設定してやらないといけないのですが、ローカルパート部分(アカウント部分)とドメインNOを選択するだけならできるのですが
私の頭では同時にドメイン部分を引き出すことができません・・・。

もし良い解決方法がございましたらご指導いただけないでしょうか。
どうぞよろしくお願い申し上げます。

PS
先日の件は解決しました・・・。Spamassassinのバージョン情報が格納されているレコードを消してしまったのが原因でした・・・(汗


No.6806 投稿時間:2007年03月07日(Wed) 18:14 投稿者名:おやじ URL:
タイトル:おやじは、MySQLはあまり得意ではありませんが・・・。

> MySQLのデータベースで2つのデータベースにユーザーデータが分けられて格納されているとします。
> [user]
> (username) (domainno) (password)
> hogehoge    1          himitsu
> anon        2          anon
> [domain]
> (no)      (domainname)
> 1         hoge.co.jp
> 2         anon.com
> 
> これであるプログラムで与えられたメールアドレスが
> 上記データベースで照会してmatchするか表すことはできるのでしょうか・・・。
> 
> eximでrcpt時にどうしてもユーザーの存在確認をしたく調べていたのですが
> とりあえずACLでrecipientsという設定で調べられそうなことがわかりました。
> しかしその場合
> recipients = $sq(SELECT・・・
> と設定してやらないといけないのですが、ローカルパート部分(アカウント部分)とドメインNOを選択するだけならできるのですが
> 私の頭では同時にドメイン部分を引き出すことができません・・・。

おやじは、MySQLはあまり得意ではありません。
recipientsで何を検索するのかわかりませんが、whereでキーマッチング([user]の(domainno)と[domain]の(no)が同じ)してあげれば、
一つのDBとしてアクセスできます。例えば、下記の様です。

select
  user.domainno,
  username,
  domainname,
  password
from user, domain
where user.domainno = domain.no
;

+----------+----------+------------+----------+
| domainno | username | domainname | password |
+----------+----------+------------+----------+
| 1        | hogehoge | hoge.co.jp | himitsu  |
| 2        | anon     | anon.com   | anon     |
+----------+----------+------------+----------+

> PS
> 先日の件は解決しました・・・。Spamassassinのバージョン情報が格納されているレコードを消してしまったのが原因でした・・・(汗

掲示板スパム対策の一つの要件に引っかかっていましたので、検出をゆるくしてロック解除しました。


No.6808 投稿時間:2007年03月09日(Fri) 09:06 投稿者名:ゆうや URL:
タイトル:Re: おやじは、MySQLはあまり得意ではありませんが・・・。

ありがとうございます、解決しました〜
whereで=使うことですべていけました・・・。
3つのデータの連係もいけました・・・。聞いてよかった・・・。

pleskのDBにユーザーデータが格納されてるので
それをチェックに使いました。

・・・recipientsの使い方間違ってますか?(汗

> 掲示板スパム対策の一つの要件に引っかかっていましたので、検出をゆるくしてロック解除しました。

なるほど、スパム対策でしたか、書き込めないのでBL入りかなぁ、とおもってました(汗



掲示板▲頁先頭