2009年3月アーカイブ
参照サイト: http://www.postfix-jp.info/trans-2.1/jhtml/MYSQL_README.html
若干日本語がおかしいところがあるけど、上記のサイトを参考にしました。
まず、
# postconf -m
で、mysqlがあるか確認する。
mydestinationのルックアップテーブルを作る
例えば下記のSQLでテーブルを作る
==
SET CHARACTER SET utf8;
DROP TABLE IF EXISTS `mydestination`;
CREATE TABLE `mydestination`(
`mydestination_id` int(11) unsigned NOT NULL auto_increment,
`domain` varchar(255) NOT NULL,
`flag` int(1) NOT NULL default 0,
PRIMARY KEY (`mydestination_id`),
UNIQUE INDEX `domain_index` (`domain`),
INDEX `flag_index` (`flag`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
==
main.cfのmydestinationを
mydestination = localhost, proxy:mysql:/etc/postfix/mysql-mydestination.cf
上記の用に指定する。
ポイントは proxy:mysql:です。
postfixはchrootで動いているので、proxyを使ってmysqlにアクセスします。
次にmysql-mydestination.cfを作成します。
==
user = ユーザ名
password = パスワード
hosts = localhost
dbname = データベース名
table = mydestination
select_field = domain
where_field = domain
additional_conditions = and flag = 1
==
詳細はドキュメントを見てください。
使い道は自分で考えてください。
PostToTwitterをいれたので、コメント実験。
参考サイト:
http://www.postfix-jp.info/trans-2.3/jhtml/aliases.5.html
http://www.postfix-jp.info/trans-2.1/jhtml/regexp_table.5.html
最初に、
# postconf -m
でregexpがあるか確認。
/etcp/aliases.regexpを作成
# touch /etc/aliases.regexp
ファイルの中身は、例えば、、、
==
正規表現テーブルではドメイン付きで検索していますので、
/^some-account-(.*)(@.*)?$/ "|/some/script/path >> /log/file/path 2>&1"
メールRAWデータを|(パイプ)を使ってスクリプトに渡す。
スクリプトでは、STDIN・標準入力 で取得することができる。
==
最後に、/etc/postfix/main.cfに下記を記述
alias_maps = hash:/etc/aliases, regexp:/etc/aliases.regexp
そしてお決まりの、
# sudo newaliases
続きを読む: POSTFIX 正規表現にてアカウントをルックアップ
ブログを開始します。
何度か試みたのですが、
いつも途中で断念してしまっていました。
今回は頑張りまっす!
