Postfix(8)
Postfixスレッド その7です。
●リンク
本家
http://www.postfix.org/
Postfix のぺーじ (ドキュメントの日本語訳、MLなど)
http://www.kobitosan.net/postfix/
過去スレ、関連スレなどは>>2-4あたり >>4
ありがと。やっぱamavisd-new専用かあ。残念。 >>5
milterならなぁ、、って事?
content_filterじゃなくて ヲレのDebian lennyな環境だとclamav-milterにせよspamass-milterにせよ
milterなdaemonってやたらメモリ喰っているのがかなり嫌。
spamass-milterで44MB、clamav-milterに至っては190MBって… メモリ喰いもイヤだけど spamassassin はなーんで Perl で書いて居るのかわからん。
C で書いてくれればもっと早くなるのになぁ…と思って見た。
あのスパム判定するときの遅延がなんか気分的に宜しくない。 >>8
パターンマッチの塊だとCで書くのはかなり嫌。
あと、spamassassinはspamdで常時起動させておけば、それほど重くないと思うけどなぁ。
もちろん、メールの流量にもよるけど。 amavisd-new だと spamd は使えないっぽいので…
ユーたち、どうやってるの? spamassassinってDKIMのチェックもするけど、それなのにあえてdkim-filter
入れている人って、その効果出ている? 無駄なような気がしてならないんだけど。
>>10
spamass-milterつかえば? >>11
spamass-milter使うとmaia使えないという罠
あちらを立てるとこちらが立たず >>13
enma で特定ネットブロックからのアクセスは検査させないようにってできる? >>10
Debianのetchで、amavisd-newとspamassassin入ってる。
amavisdとspamdと両方プロセス動いてるけど何か違うんだろうか?
>>10
amavisdがスキャナーとして働いてclamdやspamdを通すんだったと記憶してる。
>>11
自分が署名付ける時用に入れてる >>17
amavisd-new は clamav は見つけて使ってくれるが
spamd は無視してるっぽい。
perl の spamassassin モジュールを使っているようなのだが、
それってspamd (のクライアントであるspamc)を使うようになっているのだろうか? ウチのamavisd-newではspamdのsyslogが出てるよ。
設定ファイル見てみたけどそれらしい設定はなかったが、、 amavisd-new は spamassassin(コマンド)も spamd も使わずに
(perlの)Mail::SpamAssassin を直接使用しているんじゃなかろうか。
clamdの起動時に1時間以上かかるのってうちだけ?
ソケットのclamd.ctlができるまで、1時間以上CPUがまわりっぱなし。
終わったら速いんだけど、freshclamで更新?されるとまた繰り返す。
検索しても数秒で終わることが多いから、何がネックなのか良くわからない。
>>20
たしかにそれっぽいな、、気付かんかった。
てっきりspamdに行ってるもんだと、、 Postfix+Mailmanでメーリングリストを運用していて、main.cfで
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
こんなかんじの設定を行っています。
この設定だと、メーリングリストのメンバーに別ドメインのメールアドレスが
含まれている場合に relay_domains にそのドメインを含める必要があるのですが、
・localhost からの転送ついては、 reject_unauth_destination を無視する
・それ以外のホストからの転送については、reject_unauth_destination を有効にする
ということは可能でしょうか? localhost からの転送permit_mynetworksに含まれてないっけ? main.cfはこんなかんじです。
# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
default_privs = vmail
disable_vrfy_command = yes
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailbox_transport =
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 10485760
mydomain = *******.**.**
myhostname = ****.*******.**.**
mynetworks = 192.168.1.0/24, 127.0.0.0/8
mynetworks_style = subnet
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
relay_domains = ********.***, ***.*******.**.**,
sample_directory = /usr/share/doc/postfix-2.3.3/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP unknown
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /etc/pki/CA/cacert.pem
smtpd_tls_CApath = /etc/pki/CA
smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.crt
smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_gid_maps = static:5000
virtual_mailbox_base = /
virtual_mailbox_domains = ******.**.**
virtual_mailbox_maps = ldap:/etc/postfix/vmailbox.cf
virtual_minimum_uid = 5000
virtual_uid_maps = static:5000
>>23
mynetworks に 127.0.0.0/8 が含まれているから、permit_mynetworks が効くので、
今のままの設定でも問題ないはず。 >>27
ありがとうございます。
しかし、この設定で、relay_domainsに設定しないとリレーしてくれないんです・・・。
transport でいったんMailmanに渡してるからだと思うんですが、謎。
/var/log/maillog は↓こんなかんじです。
Dec 13 10:12:37 linux-test postfix/smtpd[27016]: 28C3EFF2F06:
reject: RCPT from linux-test.example.ne.jp[127.0.0.1]:
554 5.7.1 <test@hoge.hoge.ne.jp>: Relay access denied;
from=<test-bounces@ml.example.ne.jp> to=<test@hoge.hoge.ne.jp>
proto=ESMTP helo=<linux-test.example.ne.jp> >>28
Mailman からの戻されるSMTPの口はどうなってます?
master.cf に書かれてると思うけど。 >>29
smtp inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination
submission inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination
こうなってましたorz
smtp/smtpsの smtpd_recipient_restrictions をコメントアウトして無事解決しました。感謝! メールとWEBサーバを分離したいんだけど、
分離したらメールをトリガーにしてプログラム起動することってできなく
なりますよね?
何か裏ワザ的なものないでしょうか?
現在は maildrop(.mailfilter)で対応しています。 >>31
web と mail server って、普通は同居してないけどな。
何がしたいのか、もう少し具体的に書いてくれないと返事のしようが無いぞ。 ttp://www.hideblog.net/nikkis/show/14
説明不足すいません、
こんな感じで、パイプで、メール受信したらプログラム動かしたいのです。
これはローカルにパイプしてるパターンですが、
外部サーバーにパイプする方法ってあるでしょうか?
>>33
どこにwebが絡むか全然判らないんだけど
ひょっとして、PHPって物を誤解してないか? >>33
php は言語なので、web server が必須ではない。
君が言っている URL のサイトはコマンドライン版の php を使っている。
rpm なら、php-cli というものを入れれば使える。 エラーメールとか登録確認メールとかを
Webアプリの一部機能で受け取ったら処理したいのかもしれん
でもスレ違いだから消えてください 説明悪すぎた orz
メールトリガー(メールのパイプ)で
ローカルのプログラムではなく別サーバ(webサーバーとして通常使用)のプロプラムを操作したい、
ということです。
transport_maps でトリガーに使用したいメールアドレスだけ
別サーバに送って、という方法も考えたのですが、
これだと結局さらに別サーバ側でもpostfix入れなきゃいけないのですよね。
>>38
それ用のdaemon作りたくなくのなら、web serverにもpostfix入れとけばいいやん。 >>38
だからスレ違いと言っとろうが
RPCの仕組みくらい自分で考えろボケ