2009/2/27 金曜日

milter-regex改

カテゴリー: おぼえ書き — ryu @ 1:35:35

milter-regexをちょっと改造。
rejectにしろ受け付けないのは怖いし、QUARANTINEでキューにためても…ってことで、QUARANTINEの時にキューに溜めるんじゃなくてフォワード。

最近、from/to共に自アドレスのメールが多くて困ってたものの、
context-typeがtext/htmlで自分はHTMLメール絶対に投げないからルール設定。複数ルールで処理できるのはmilter-regex様々。


diff -u milter-regex-1.7-original/milter-regex.c milter-regex-1.7/milter-regex.c
--- milter-regex-1.7-original/milter-regex.c 2007-08-04 07:11:48.000000000 +0900
+++ milter-regex-1.7/milter-regex.c 2009-02-26 18:50:23.000000000 +0900
@@ -565,8 +565,15 @@
msg(LOG_NOTICE, context, "QUARANTINE: %s, Helo: %s, From: %s, "
"To: %s, Subject: %s", action->msg, context->helo,
context->hdr_from, context->hdr_to, context->hdr_subject);
- if (smfi_quarantine(ctx, context->quarantine) != MI_SUCCESS)
+/* if (smfi_quarantine(ctx, context->quarantine) != MI_SUCCESS)
msg(LOG_ERR, context, "cb_eom: smfi_quarantine");
+*/
+ char *rcpt;
+ if( (rcpt = smfi_getsymval(ctx, "{rcpt_addr}")) != NULL){
+ smfi_delrcpt( ctx, rcpt );
+ }
+ smfi_addrcpt( ctx, context->quarantine );
+ smfi_addheader( ctx, "X-SPAM-FORWARD", context->quarantine );
}
return (result);
}
@@ -592,7 +599,7 @@
struct smfiDesc smfilter = {
"milter-regex", /* filter name */
SMFI_VERSION, /* version code -- do not change */
- SMFIF_QUARANTINE, /* flags */
+ SMFIF_QUARANTINE|SMFIF_ADDHDRS|SMFIF_ADDRCPT|SMFIF_DELRCPT, /* flags */
cb_connect, /* connection info filter */
cb_helo, /* SMTP HELO command filter */
cb_envfrom, /* envelope sender filter */

603 件のコメント

コメントはまだありません。

このコメント欄の RSS フィード トラックバック URL

コメントフォームは現在閉鎖中です。

37 queries. HTML convert time: 0.250 sec. Powered by WordPress 2.8