お世話になっております。
おやじ殿しか相談する先がなくやってまいりました。
ご指導頂ければ助かります・・・。
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のバージョン情報が格納されているレコードを消してしまったのが原因でした・・・(汗
> 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のバージョン情報が格納されているレコードを消してしまったのが原因でした・・・(汗 掲示板スパム対策の一つの要件に引っかかっていましたので、検出をゆるくしてロック解除しました。
ありがとうございます、解決しました〜
whereで=使うことですべていけました・・・。
3つのデータの連係もいけました・・・。聞いてよかった・・・。
pleskのDBにユーザーデータが格納されてるので
それをチェックに使いました。
・・・recipientsの使い方間違ってますか?(汗
> 掲示板スパム対策の一つの要件に引っかかっていましたので、検出をゆるくしてロック解除しました。
なるほど、スパム対策でしたか、書き込めないのでBL入りかなぁ、とおもってました(汗