2005-04-09

λ [FreeBSD] Mailman + Postfix(ClamSMTP + SpamAssassin)

で設定されたPostfixで普通にメーリングリストを運用すると、 メーリングリストプログラムが展開した後のメールにまでフィルターをかけようとする。 遅くても配送してくれればいいと思っていたら、どうも SpamAssassin がブラックホールになって一部のメールが失われていた模様。

localhost:10026 がフィルターした後の受け口なので、単にそこに向かってSMTP配送するように設定すればよい。 現在の mm.cfg :

###############################################
# Here's where we get the distributed defaults.

from Defaults import *

##################################################
# Put YOUR site-specific settings below this line.
DEFAULT_SERVER_LANGUAGE = 'ja'
MTA = 'Postfix'
SMTPHOST = 'localhost'
SMTPPORT = 10026 # no content filter

DEFAULT_EMAIL_HOST = 'mail.mimori.org'
DEFAULT_URL_HOST = 'mimori.org'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
add_virtualhost('ipv6.mimori.org', DEFAULT_EMAIL_HOST)
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['mail.mimori.org']

DEFAULT_URL_PATTERN = 'https://%s/mailman/'
PUBLIC_ARCHIVE_URL = 'https://%(hostname)s/pipermail/%(listname)s'

Web側のインターフェースのURLを変更した後にやるべき作業は未だによく分からない。 bin/withlist -l -r fix_url リスト名 でもなんか直らないことがあったような。

λ ブラックホールの原因

自分で書いた が原因だった(混乱をさけるため掲載しているプログラムは修正済み)。

master.cfに

spamd     unix  -       n       n       -       -       pipe
  user=spamd argv=/usr/local/bin/spamc -U /var/run/spamd/spamd -e /local/bin/smtp10025 ${sender} ${recipient}

と書いたのも自分なので、なんとなく smtp10025 に渡ってくる配送先アドレスは1引数としてやってくるように思い込んでいたが、 調べてみると複数アドレスは複数の引数に分解された状態でやってきていた。

そんなわけで移行後は、宛先が複数指定されたメールは2番目以降のアドレスについて配送されない状態だった。orz ユーザがあんまりいないので気付くのが遅れてしまった。

[]