Sun Java logo     ��һҳ      Ŀ¼      ����      ��һҳ     

Sun logo
Sun Java System Messaging Server 6 2005Q1 ����ָ�� 

�� 17 ��
�ʼ����˺ͷ��ʿ���

������������λ����ʼ���Դ�������ˡ�IP ��ַ�ȣ�������ַ�4�����ʼ�������}���ʼ����˻��ƣ���ӳ���� Sieve ������˹��� (SSR) ���ƶ� MTA �ķ��ʡ�

ʹ��ӳ������ƶ� MTA �ķ��ʣ�ʹ�ÿ��Ի��� From: �� To: ��ַ��IP ��ַ���˿ںź�Դͨ�;�Ŀ��ͨ�9����ʼ���ӳ����������û���� SMTP �м̡�Sieve ��һ���ʼ����˽ű���������ڱ����е��ַ�����ʼ������ܻ����ʼ������е��ַ�����ʼ�����

���Ҫ�����ŷ⼶����ƣ���ʹ��ӳ���4�����ʼ������Ҫ���л��ڱ���Ŀ��ƣ���ʹ�� Sieve ������˹���

���·�Ϊ}���֣�

�� 1 ���֣�ӳ������������Աͨ�������ض�ӳ���4���ƶ� MTA ����ķ��ʡ�����Ա���Կ��Ʊ����ܷ�ͨ�� Messaging Server �����ʼ�������ʼ���

�� 2 ���֣������������ �����û��͹���Ա�����ʼ������е��ַ�4�����ʼ���ָ�����ѹ��˵��ʼ��IJ���ʹ�� Sieve �������Բ�������ͨ�<���MTA ������û�������ˡ�


�� 1 ���֣�ӳ���

�� 1 ���ְ����¸�ڣ�


ʹ��ӳ�����Ʒ���

�����ͨ�������ض���ӳ���4���ƶ��ʼ�����ķ��ʡ���Щӳ���ʹ���ܹ�������Щ�˿��Է��ͺ�/������ʼ�����Щ�˲����ԡ��� 17-1 �г��˱�����˵���ӳ��?�ṩ�� FROM_ACCESS��MAIL_ACCESS �� ORIG_MAIL_ACCESS ӳ���Ӧ�ó�����Ϣ�ַ��( HELO/EHLO SMTP �����������ϵͳ��ơ��������ʾ���ַ�ĩβ����б�����ַ�����ಿ�֣�ͨ��������� "SMTP"���ָ����������ϵͳ�������ֹһЩ���Ͳ���ʱ�dz����á�

���ʿ���ӳ��� �� ����

������ӳ���һ����ʿ���ӳ��������ͬ��ͨ�ø�ʽ����μ�ӳ���ļ�������Щ���ʿ���ӳ�����ӳ�����ơ�����С��ٺ��һ�����ӳ����Ŀ��ɡ�ӳ����Ŀ����������ģʽ���Ҳ��ģ����ɡ�����ģʽ�����ض��ʼ���ģ��ָ�����ʼ�����еIJ������磺

SEND_ACCESS

 *|Elvis1@sesta.com|*|*      $Y
 *|Nelson7@sesta.com|*|*     $Y
 *|AkiraK@sesta.com|*|*      $Y
 *|*@sesta.com|*|*              $NMail$ Blocked

�ڴ�ʾ���У�����ֹ����4�� sesta.com ��ĵ����ʼ����� Elvis1��Nelson �� AkiraK �еĵ����ʼ����⡣

���ʿ���ӳ����Ŀ������ģʽ�ɶ�����������ɣ��������֮���Դ�ֱ�� (|) �ָ����������˳��ȡ���ڷ���ӳ��?�⽫�ں����С���н��ܡ����磬SEND_ACCESS ӳ���������������ʽ��

src-channel|from-address|dst-channel|to-address

���У�src-channel �ǽ��ʼ��Ŷӵ�ͨ�#�from-address ���ʼ���ʼ�ߵĵ�ַ��dst-channel ��Ҫ���ʼ��Ŷӵ�ͨ�#�to-address ���ʼ�Ҫ���͵��ĵ�ַ�������ĸ��ֶ��е�����һ���ֶ���ʹ���ǺŽ�ʹ���ֶ�ƥ�������ʵ���ͨ�;��ַ��


ע

�޸� mappings �ļ�֮�󣬱������±������ã���μ� Sun Java System Messaging Server Administration Reference �е� imsimta refresh �����


�� 17-1 ���ʿ���ӳ���

ӳ���

˵��

SEND_ACCESS
����μ��������Ϣ...������

���ڻ����ŷ�� From ��ַ��To ��ַ��Դͨ�:�Ŀ��ͨ����ֹ��4l�ӡ�ִ����д������)չ�Ȳ���󽫼�� To ��ַ��

ORIG_SEND_ACCESS
����μ��������Ϣ...������

���ڻ����ŷ�� From ��ַ��To ��ַ��Դͨ�:�Ŀ��ͨ����ֹ��4l�ӡ�ִ����д֮�󡢱���)չ֮ǰ����� To ��ַ��

MAIL_ACCESS
����μ��������Ϣ...������

���ڻ��� SEND_ACCESS �� PORT_ACCESS �����ҵ��������Ϣ��ֹ��4l�ӣ�����SEND_ACCESS ���ҵ���ͨ�:͵�ַ��Ϣ��� PORT_ACCESS ���ҵ��� IP ��ַ�Ͷ˿ں���Ϣ��

ORIG_MAIL_ACCESS
����μ��������Ϣ...������

���ڻ��� ORIG_SEND_ACCESS �� PORT_ACCESS �����ҵ��������Ϣ��ֹ��4l�ӣ�����ORIG_SEND_ACCESS ���ҵ���ͨ�:͵�ַ��Ϣ��� PORT_ACCESS ���ҵ��� IP ��ַ�Ͷ˿ں���Ϣ��

FROM_ACCESS
����μ��������Ϣ...������

���ڻ����ŷ� From ��ַ�����ʼ������ To ��ַ�Dz���صĵ�ַ����ʹ�øñ?

PORT_ACCESS
����μ��������Ϣ...������

���ڸ�� IP ���������4��l�ӡ�

MAIL_ACCESS �� ORIG_MAIL_ACCESS ӳ�������ģ������ SEND_ACCESS �� ORIG_SEND_ACCESS �еĵ�ַ��ͨ����Ϣ�����һ������ͨ�� PORT_ACCESS ӳ����ȡ��������Ϣ����( IP ��ַ�Ͷ˿ں���Ϣ����


���ʿ���ӳ����־

�� 17-2 ��ʾ���� SEND_ACCESS��ORIG_SEND_ACCESS��MAIL_ACCESS��ORIG_MAIL_ACCESS �� FROM_ACCESS ӳ�����صķ���ӳ���־����ע�⣬PORT_ACCESS ӳ���֧�����в�ͬ�ı�־������μ��� 17-3����

���в���ı�־���밴�ձ�����ʾ���Ķ�˳�����в������磺

ORIG_SEND_ACCESS

  tcp_local|*|tcp_local|* $N$D30|Relaying$ not$ allowed

�ڴ�ʾ���У���ȷ��˳�����ӳ�ʱ��κ��ܾ��ַ���ע�⣬��־������԰��κ�˳�����С���ˣ�������Ŀ������ͬ�Ľ��

30|Relaying$ not$ allowed$D$N
$N30|Relaying$ not$ allowed$D
30|$N$DRelaying$ not$ allowed

�� 17-2 ����ӳ���־

��־

˵��

$A

�����ʹ�� SASL�������øñ�־����μ���������־��

$B

���ʼ��ض��� bitbucket��

$D

����������ӳٷ����վݣ������øñ�־���� FROM_ACCESS �в����ã�����μ���������־��

$F

���������ʧ�ܷ����վݣ������øñ�־���� FROM_ACCESS �в����ã�����μ���������־��

$H

���ʼ�����Ϊ .HELD �ļ���

$S

��������óɹ������վݣ������øñ�־���� FROM_ACCESS �в����ã�����μ���������־��

$T

�����ʹ�� TLS�������øñ�־����μ���������־��

$U

����� ORIG_SEND_ACCESS��SEND_ACCESS��ORIG_MAIL_ACCESS �� MAIL_ACCESS ��ʹ�ã����ӳ��һ��ʼ�Ͳ������������Ӧ������ MM_DEBUG ��ֵ�����⣬�����ڿ��ܵ����������ͨ�<�����ԡ�����ǻ���Դ IP ��ַ��ԭʼ��ַ���ռ��˵�ַ����Ŀ���õ��ԡ�

$Y

������ʡ�

$V

���¶������ռ���ִ��ǿ�Ʒ���

$Z

���¶������ռ���ִ��ǿ�� jettison��

���в���ı�־�����ղ����Ķ�˳��+��������ĸ˳�����д��б?��

$Uinteger

��ӳ��һ��ʼ�Ͳ������������Ӧ������ MM_DEBUG�����⣬�����ڿ��ܵ����������ͨ�<�����ԡ�����ǣ����ڿ��Ի���Դ IP ��ַ��ԭʼ��ַ���ռ��˵�ַ�����õ��ԡ�

$Jaddress

* ʹ��ָ���� address �滻ԭʼ�ŷ� From: ��ַ��

$Kaddress

* ++ ʹ��ָ���� address �滻ԭʼ Sender: ��ַ��

$Iuser|identifier

���ָ���û����� ID��

$<string

+++ ���̽��ƥ�䣬�� string ���͵�ϵͳ��־��UNIX��user.notice �豸�������ԣ����¼���־ (NT)��

$>string

+++ �����ʱ��ܾ� string ���͵�ϵͳ��־��UNIX��user.notice �豸�������ԣ����¼���־ (NT)��

$Ddelay

�ӳ���Ӧ�����Ϊ delay���԰ٷ�֮һ��Ϊ��λ������ֵ�������ӳ�Ӧ���������е�ÿ�������ֵ�������ӳ�ֻӦ���ڵ�ַ�ƽ������� FROM_ACCESS ��Ϊ SMTP MAIL FROM: ������������Ϊ SMTP RCPT TO: �����

$Ttag

ʹ�� tag ǰ׺��

$Aheader

�������� header ��ӵ��ʼ���

$Gconversion_tag

����� ORIG_SEND_ACCESS��SEND_ACCESS��ORIG_MAIL_ACCESS �� MAIL_ACCESS ��ʹ�ã��˱�־����ӳ�����ж�ȡֵ������ֵ��ΪҪӦ�õ���ǰ�ռ��˵�һ��ת����ǡ������ FROM_ACCESS һ��ʹ�ã�ת����ǽ�Ӧ���������ռ��ˡ��ڴ�ӳ���ж�ȡ�ı������У�$G λ�� $A�������ַ��֮����μ��ʼ�ת�������

$Sx,y,z

* ���´�ӳ�����ж�ȡ������ | �ָ�IJ���˲�����һ������ö��ŷָ������ֵ��ɡ���һ��ֵΪ����bһ���µ���С blocklimit���ڶ���ֵ��bһ���µ���С recipientlimit�������ֵ��bһ���µ���С recipientcutoff���ڶ�ȡ�κβ������󣬽���ӳ�����ж�ȡ�˲����й���ϸ��Ϣ����μ�ָ������ʼ���С������

$Xerror-code

���ܾ��ʼ�������ָ���� error-code )չ SMTP ������롣

$,spamadjust_arg

ʹ����Դӷ���ӳ���ִ��ɸѡ spamadjust ����ò����� spamadjust ����ĸ�ʽ��ͬ������ע�⣬��Щӳ������һЩ�ǻ��ڸ��ռ��˶�Ӧ�õģ�ִ�е��κ� spamadjust ���������������ռ��ˡ�

$Nstring

ʹ�ÿ�ѡ�Ĵ����ı� string �ܾ���ʡ�

$Fstring

$N string ��ͬ��ʣ�����ʹ�ÿ�ѡ�Ĵ����ı� string �ܾ���ʡ�

* ������� FROM_ACCESS �?

+ Ҫʹ�ö����б��ı�־�����ô�ֱ���ַ� | �ָ���������մ˱����г��˳����ñ���

++ Ҫʹ $K ��־�� FROM_ACCESS ӳ�������Ч��Դͨ�1���� authrewrite �ؼ��֡�

+++ ����������ķ�����ʱ��ʹ�� $D ��־��һ������⣬����Է�ֹ�ܾ���񹥻��ر�أ����κ� $> ��Ŀ�� $< ��Ŀ�ܾ������ʹ�� $D ��һ������⡣

SEND_ACCESS �� ORIG_SEND_ACCESS ��

�����ʹ�� SEND_ACCESS �� ORIG_SEND_ACCESS ӳ�����Ʊ����ܷ����ʼ��������ʼ�����ͬʱ������}���档���ʼ���(�ʼ����ŷ� From: ��ַ���ŷ� To: ��ַ���ʼ������ͨ���Լ�Ҫ���Է����ʼ���ͨ�!�

���ӳ��� SEND_ACCESS �� ORIG_SEND_ACCESS ���ڣ������ͨ�� MTA ��ÿ���ʼ���ÿ���ռ��ˣ�MTA ��ʹ�����¸�ʽ���ַ�ɨ������ע�ⴹֱ���ַ� | ��ʹ�ã���

src-channel|from-address|dst-channel|to-address

src-channel �ǽ��ʼ��Ŷӵ�ͨ�#�from-address ���ʼ���ʼ�ߵĵ�ַ��dst-channel ��Ҫ���ʼ��Ŷӵ�ͨ�#�to-address ���ʼ�Ҫ���͵��ĵ�ַ�������ĸ��ֶ��е�����һ���ֶ���ʹ���ǺŽ�ʹ���ֶ�ƥ�������ʵ���ͨ�;��ַ��

�˴��ĵ�ַ���ŷ��ַ�����ŷ� From: ��ַ���ŷ� To: ��ַ������� SEND_ACCESS������ִ����д������)չ�Ȳ�������ŷ� To: ��ַ������� ORIG_SEND_ACCESS������ִ����д֮�󡢱���)չ֮ǰ���ԭ��ָ�����ŷ� To: ��ַ��

��������ַ�ƥ��ij��ģʽ����������ij����Ŀ����ࣩ���򽫼��ӳ��Ľ�������������־ $Y �� $y��������Ը��ض� To: ��ַ�����Ŷӡ�������� $N��$n��$F �� $f �е�����һ���־����Ը��ض���ַ�����Ŷӽ����ܾ��ڱ��ܾ������£�ӳ������п����ṩ��ѡ�ľܾ��ı������ַ���(�� MTA �����ľܾ�����С����û������ַ��� $N��$n��$F �� $f ��־���⣩����ʹ��Ĭ�ϵľܾ��ı����й������־��˵����μ����ʿ���ӳ����־��

�� MTA ѡ�� ACCESS_ORCPT ����Ϊ 1 ʱ�����򴫵ݸ� SEND_ACCESS��ORIG_SEND_ACCESS��MAIL_ACCESS �� ORIG_MAIL_ACCESS ӳ��?��ԭʼ�ռ��� [ORCPT] ��ַ����̽��ֵ���һ��ӵ��Դ�ֱ��ָ���ֶΡ�����ʼ�û�� ORCPT ��ַ����ʹ�ó�ʼ�ġ�δ���޸ĵ� RCPT TO: ��ַ���档Ĭ��ֵΪ 0��̽��ֵλ��ĩβ����

src-channel|from-address|dst-channel|to-address|ORCPT_address

������ʾ���У��� UNIX �û����?���� mail��Pine �ȣ����͵ġ�Դ�ڱ���ͨ�� (l) ���ʼ��Լ����͵� Internet ���ʼ���ͨ��ij�� TCP/IP ͨ�7��ͳ�ȥ�ġ��ٶ������?���û����ʼ���ܳ��⣩�� Internet �����ʼ��������Դ� Internet �����ʼ���������ʾ������ʾ�� SEND_ACCESS ӳ����ǿ���ʵʩ�����Ƶ�һ�ַ�������ӳ����У��ٶ����������Ϊ sesta.com����ͨ����� "tcp_*" ��ʹ����ͨ����Ա�ƥ�����п��ܵ� TCP/IP ͨ����ƣ����� tcp_local����

����ʾ�� 17-1
SEND_ACCESS ӳ���

SEND_ACCESS

  *|postmaster@sesta.com|*|*    $Y
  *|*|*|postmaster@sesta.com    $Y
  l|*@sesta.com|tcp_*|*         $NInternet$ postings$ are$ not$  \
    permitted

�ھܾ��ʼ��У�ʹ������Ԫ��ţ����������ʼ��еĿո����û����Щ��Ԫ��ţ��ܾ��ʼ�����ǰ����ֻ���Ķu� "Internet"������ "Internet postings are not permitted"����ע�⣬��ʾ�������������ܵġ����ء��ʼ�4Դ������4�Ի��� PC ���ʼ�ϵͳ��4�� POP �� IMAP �ͻ�����ʼ���


ע

���Է����ʼ��Ŀͻ�����Ƿ�� MTA �ܾ�����ı�ʵ���ṩ���Է����ʼ����û������ SEND_ACCESS �����ھܾ���4 SMTP �ʼ���MTA ��ֻ����һ�ΰ�(��ѡ�ܾ��ı��� SMTP �ܾ���룻Ҫ�ɷ��� SMTP �ͻ���4ʹ�ø���Ϣ�Թ���Ҫ���ͻ�ԭʼ�����˵ĵ�����Ϣ��


MAIL_ACCESS �� ORIG_MAIL_ACCESS ӳ���

MAIL_ACCESS ӳ����� SEND_ACCESS �� PORT_ACCESS ӳ���ij����������� SEND_ACCESS ��ͨ�:͵�ַ��Ϣ���Լ� PORT_ACCESS �� IP ��ַ�Ͷ˿ں���Ϣ�����Ƶأ�ORIG_MAIL_ACCESS ӳ����� ORIG_SEND_ACCESS �� PORT_ACCESS ӳ���ij�����MAIL_ACCESS ��̽���ַ�ĸ�ʽΪ��

port-access-probe-info|app-info|submit-type|send_access-probe-info

���Ƶأ�ORIG_MAIL_ACCESS ��̽���ַ�ĸ�ʽΪ��

port-access-probe-info|app-info|submit-type|orig_send_access-probe-info

�������4 SMTP �ʼ����˴��� port-access-probe-info ͨ���� PORT_ACCESS ӳ���̽���а��������Ϣ��ɣ�����Ϊ�ա�app-info ���� SMTP ���� HELO/EHLO �������ϵͳ��ơ��������ʾ���ַ�ĩβ����б�����ַ�����ಿ�֣�ͨ��������� "SMTP"���ָ����������ϵͳ�������ֹһЩ���Ͳ���ʱ�dz����á���Ӧ���ʼ�����ύ�� Messaging Server��submit-type ����Ϊ MAIL��SEND��SAML �� SOML ����֮һ��ͨ������¸�ֵΪ MAIL����ʾ������Ϊ�ʼ��ύ�ģ�������� SMTP �������ύ�㲥���󣨻���ϵĹ㲥/�ʼ����󣩣���ֵ���ܻ��� SEND��SAML �� SOML������ MAIL_ACCESS ӳ�䣬send-access-probe-info ͨ���ɰ��� SEND_ACCESS ӳ���̽���е�������Ϣ��ɡ����Ƶأ����� ORIG_MAIL_ACCESS ӳ�䣬orig-send-access-probe-info ͨ���ɰ��� ORIG_SEND_ACCESS ӳ���̽���е�������Ϣ��ɡ�

�� MTA ѡ�� ACCESS_ORCPT ����Ϊ 1 ʱ�����򴫵ݸ� SEND_ACCESS��ORIG_SEND_ACCESS��MAIL_ACCESS �� ORIG_MAIL_ACCESS ӳ��?��ԭʼ�ռ��� [ORCPT] ��ַ����̽��ֵ���һ��ӵ��Դ�ֱ��ָ���ֶΡ�����ʼ�û�� ORCPT ��ַ����ʹ�ó�ʼ�ġ�δ���޸ĵ� RCPT TO: ��ַ���档Ĭ��ֵΪ 0��̽��ֵλ��ĩβ����ʾ��

port-access-probe-info|app-info|submit-type|send_access-probe-info|ORCPT_address

����4 TCP/IP l����Ϣ��ͨ�:͵�ַ��Ϣ����ͬһӳ����У����Ը�ӷ����ʵʩijЩ����Ŀ��ƣ�������4���ض� IP ��ַ���ʼ���ǿ��������ʾ��Щ�ŷ� From: ��ַ��������Ƶ����ʼ�α�죬������û��ʵ��������� POP �� IMAP �ͻ���� From: ��ַ�����á����磬���վ��ϣ��ʹ�ŷ� From: ��ַ vip@siroe.com ֻ��ʾ��4�� IP ��ַ 1.2.3.1 �� 1.2.3.2 ���ʼ��У���ȷ��4������ 1.2.0.0 ������ϵͳ���ʼ��ϵ��ŷ� From: ��ַ��4�� siroe.com�������ʹ�� MAIL_ACCESS ӳ��?������ʾ����ʾ��

����ʾ�� 17-2 MAIL_ACCESS ӳ���

MAIL_ACCESS

! Entries for vip's two systems
!
  TCP|*|25|1.2.3.1|*|SMTP|MAIL|tcp_*|vip@siroe.com|*|*  $Y
  TCP|*|25|1.2.3.2|*|SMTP|MAIL|tcp_*|vip@siroe.com|*|*  $Y
!
! Disallow attempts to use vip's From: address from other
! systems
!
  TCP|*|25|*|*|SMTP|MAIL|tcp_*|vip@siroe.com|*|*  \
      $N500$ Not$ authorized$ to$ use$ this$ From:$ address
!
! Allow sending from within our subnet with siroe.com From:
! addresses
!
  TCP|*|25|1.2.*.*|*|SMTP|MAIL|tcp_*|*@siroe.com|*|*  $Y
!
! Allow notifications through
!
  TCP|*|25|1.2.*.*|*|SMTP|MAIL|tcp_*||*|*  $Y
!
! Block sending from within our subnet with non-siroe.com
! addresses
!
  TCP|*|25|1.2.*.*|*|SMTP|MAIL|tcp_*|*|*|*  \
      $NOnly$ siroe.com$ From:$ addresses$ authorized

FROM_ACCESS ӳ���

FROM_ACCESS ӳ�������ڿ���˭���Է����ʼ�����ʹ������֤�ĵ�ַ����ԭ4�� From: ��ַ����ͬʱ������}���档

FROM_ACCESS ӳ��������̽���ַ��� MAIL_ACCESS ӳ��������̽���ַ����ƣ�ֻ�Ǽ�����Ŀ��ͨ�:͵�ַ�����������֤�ķ�������Ϣ������У�����ˣ���� FROM_ACCESS ӳ�����ڣ������ÿ���ʼ��ύ���ԣ�Messaging Server ��ʹ�����¸�ʽ���ַ���������ע�ⴹֱ���ַ� | ��ʹ�ã���

port-access-probe-info|app-info|submit-type|src-channel|from-address|auth-from

�������4 SMTP �ʼ����˴��� port-access-probe-info ͨ���� PORT_ACCESS ӳ���̽���а��������Ϣ��ɣ�����Ϊ�ա�app-info ���� SMTP ���� HELO/EHLO �������ϵͳ��ơ��������ʾ���ַ�ĩβ����б�����ַ�����ಿ�֣�ͨ��������� "SMTP"���ָ����������ϵͳ�������ֹһЩ���Ͳ���ʱ�dz����á���Ӧ���ʼ�����ύ�� MTA��submit-type ����Ϊ MAIL��SEND��SAML �� SOML ����֮һ��ͨ������¸�ֵΪ MAIL����ʾ������Ϊ�ʼ��ύ�ģ�������� SMTP �������ύ�㲥���󣨻���ϵĹ㲥/�ʼ����󣩣���ֵ���ܻ��� SEND��SAML �� SOML��src-channel ���ʼ�4�Ե�ͨ�#������ʼ������Ŷӣ���from-address ���ʼ�ԭ4�Ĵ�ʼ�ߵĵ�ַ��auth-from ������֤�Ĵ�ʼ�ߵ�ַ��������Ϣ���ã����������֤����Ϣ�����ã���Ϊ�հס�

���̽���ַ�ƥ��ij��ģʽ����������ij����Ŀ����ࣩ�������ӳ��Ľ�������������־ $Y �� $y��������Ը��ض� To: ��ַ�����Ŷӡ�������� $N��$n��$F �� $f �е�����һ���־����Ը��ض���ַ�����Ŷӽ����ܾ��ڱ��ܾ������£�ӳ������п����ṩ��ѡ�ľܾ��ı������ַ���(�� Messaging Server �����ľܾ�����С����û������ַ��� $N��$n��$F �� $f ��־���⣩����ʹ��Ĭ�ϵľܾ��ı����й������־��˵����μ����ʿ���ӳ����־��

���˻��ڴ�ʼ��ȷ���Ƿ������ύ�ʼ���FROM_ACCESS ��������ͨ�� $J ��־����ŷ� From: ��ַ����ͨ�� $K ��־�޸� authrewrite ͨ�9ؼ��ֵ�Ч�����ѽ��յ��ʼ������һ�� Sender: �����ַ�������磬��ӳ��������ʹԭʼ�ŷ� From: ��ַ������֤�ĵ�ַ�򵥵��滻��

����ʾ�� 17-3 FROM_ACCESS ӳ���

FROM_ACCESS

  *|SMTP|*|tcp_auth|*|       $Y
  *|SMTP|*|tcp_auth|*|*      $Y$J$3

ʹ�� FROM_ACCESS ӳ����޸�ijЩ authrewrite ����Ϊ����ֵ��Դͨ���ϵ�Ч��ʱ�����Ҫ��ԭ��ʹ������֤�ĵ�ַ��������ʹ�� FROM_ACCESS��

���磬�� tcp_local ͨ�������� authrewrite 2 ʱ������������ FROM_ACCESS ӳ��?��Ϊ authrewrite ��������ܹ���ô�Ч����ԭ���������֤�ĵ�ַ����

FROM_ACCESS

  *|SMTP|*|tcp_auth|*|     $Y
  *|SMTP|*|tcp_auth|*|*    $Y$K$3

���ǣ�FROM_ACCESS ������Ŀ������������и�Ӹ��Ӻ�ϸ�µĸ�ģ�������ʾ����ʾ�����Ҫ����4�ʼ����һ�� Sender: �����У���ʾ SMTP AUTH ����֤���ύ�ߵ�ַ������ authrewrite �ؼ��ֱ��?�ɵ������Ρ����ǣ�����ֻ���� SMTP AUTH ����֤���ύ�ߵ�ַ���ŷ� From: ��ַ��ͬʱ���Ž�����һ�� Sender: ��������ӵ���4�ʼ���������ַƥ�䣬�򲻱���� Sender: �����У�������һ��������ϣ�� SMTP AUTH ���ŷ� From: ��ַ������ŷ� From: ��(��ѡ���ӵ�ַ��Ϣ����������ͬ��

FROM_ACCESS

! If no authenticated address is available, do nothing
  *|SMTP|*|tcp_auth|*|              $Y
! If authenticated address matches envelope From:, do nothing
  *|SMTP|*|tcp_auth|*|$2*           $Y
! If authenticated address matches envelope From: sans
! subaddress, do nothing
  *|SMTP|*|tcp_auth|*+*@*|$2*@$4*    $Y
! Fall though to...
! ...authenticated address present, but didn't match, so force
! Sender: header
  *|SMTP|*|tcp_auth|*|*              $Y$K$3

PORT_ACCESS ӳ���

�ַ�������Ի��� IP ��ַ�Ͷ˿ں�ѡ���Եؽ��ܻ�ܾ���4l�ӡ��ַ�������ʱ����������Ϊ PORT_ACCESS ��ӳ��?�����ڣ��ַ����򽫰����¸�ʽ��ʽ��l����Ϣ��

TCP|server-address|server-port|client-address|client-port

�ַ����򽫳���ƥ������ PORT_ACCESS ӳ����Ŀ�����ӳ����� $N �� $F����b���ر�l�ӡ�ӳ����κ��������ʾ���Խ���l�ӡ�$N �� $F ���Ժ��һ��ܾ���Ϣ����ѡ���������ڣ�����Ϣ���ڹر�l��֮ǰ�����ͻ�l�ӡ���ע�⣬��Ϣ�����ͻ�l��֮ǰ�����ַ�������һ�� CRLF �����


ע

MMP ��ʹ�� PORT_ACCESS ӳ��?���ϣ��ܾ�4��ijЩ IP ��ַ�� SMTP l�Ӳ�������ʹ�� MMP�������ʹ�� TCPAccess ѡ���μ��� MMP �����ʼ����������ϣ��ʹ��ӳ���4���� SMTP l�ӣ���ʹ�� INTERNAL_IP ӳ��?��μ�����Ϊ�ⲿվ����� SMTP �м�����


���ӳ��̽��ƥ�䣬����ѡ�ַ�ı�־ $< ��ʹ Messaging Server ���ַ��͸�ϵͳ��־ (UNIX) ���¼���־ (NT)�������ʱ��ܾ����ѡ�ַ�ı�־ $> ��ʹ Messaging Server ���ַ��͵�ϵͳ��־ (UNIX) ���¼���־ (NT)����������� LOG_CONNECTION MTA ѡ��ĵ� 1 λ�� $N ��־�Ծܾ�l�ӣ�����ָ�� $T ��־�Ὣ "T" ��Ŀд��l����־����������� LOG_CONNECTION MTA ѡ��ĵ� 4 λ������Խ�վ���ṩ���ı����� PORT_ACCESS ��Ŀ�У��Ա���� "C" l����־��Ŀ�С�Ҫָ��������ı�����������Ŀ���Ҳ��(}��ֱ���ַ���������ı����� 17-3 �г��˿��õı�־��

�� 17-3 PORT_ACCESS ӳ���

��־

˵��

$Y

������ʡ�

���б��ı�־���ձ����Ķ�˳������ +

$< string

���̽��ƥ�䣬���ַ��͵�ϵͳ��־ (UNIX) ���¼���־ (NT)��

$> string

�����ʱ��ܾ��ַ��͵�ϵͳ��־ (UNIX) ���¼���־ (NT)��

$N string

ʹ�ÿ�ѡ�Ĵ����ı��ַ�ܾ����

$F string

$N string ��ͬ��ʣ�����ʹ�ÿ�ѡ�Ĵ����ı��ַ�ܾ����

$T text

��������� LOG_CONNECTION MTA ѡ��ĵ� 1 λ�� $N ��־�Ծܾ�l�ӣ��� $T �Ὣ "T" ��Ŀд��l����־����ѡ�ı���������ʾ��}��ֱ���ַ�֮�󣩿��Ա���l����־��Ŀ�С�

+ Ҫʹ�ö����б��ı�־�����ô�ֱ���ַ� | �ָ���������մ˱����г��˳����ñ���

���磬���Ҫ�ܾ�IJ���˵���ı����ض�������⣬����ӳ�佫ֻ����4�Ե�һ����� SMTP l�ӣ����˿� 25������ SMTP �˿ڣ���

PORT_ACCESS

  TCP|*|25|192.123.10.70|*  $N500
  TCP|*|25|192.123.10.*|*   $Y
  TCP|*|25|*|*              $N500$ Bzzzt$ thank$ you$ for$  \
     playing.

��ע�⣬�� PORT_ACCESS ӳ�������κθ�ĺ󣬶���Ҫ������ַ������Ա�ʹ�Էַ�����ĸ����Ч���������ʹ�õ����ѱ���� MTA ���ã�����Ҫ�����±������ã��Խ���IJ����ѱ���������С���

PORT_ACCESS ӳ���ר����ִ�л��� IP �ľܾ�Ҫ�ڵ����ʼ�������и��ͨ�õĿ��ƣ�SEND_ACCESS �� MAIL_ACCESS ӳ�����ܸ���ʺϡ�

����ָ�� IP ��ַ�� MTA ��l��

ͨ��ʹ�� Port Access ӳ����еĹ���� conn_throttle.so�����������ض� IP ��ַl�ӵ� MTA ��Ƶ���̶ȡ������ض� IP ��ַ��l�Ӷ��ڷ�ֹ�ܾ���񹥻���ʹ�õĹ��l�ӿ��ܻ����á�

conn_throttle.so ��һ���� PORT_ACCESS ӳ�����ʹ�õĹ���⣬����������ض� IP ��ַ����Ƶ����l�ӵ� MTA����������ѡ���ָ��Ϊl�����ƹ����IJ���������ʾ��

$[msg_svr_base/lib/conn_throttle.so,throttle,IP-address,max-rate]

IP-address ��Զ��ϵͳ�ĵ��ʮ���Ƶ�ַ��max-rate ��Ӧ�Դ� IP ��ַǿ�Ƶ�������ʣ�l�Ӵ���/���ӣ���

���ڴ����Ե���̣�����ʹ�������� throttle_p ��� throttle������ȥl�Ӵ���̫�࣬throttle_p ���ܾ��Ժ��l�ӡ�����������Ϊ 100�������ڹ�ȥ��һ�����ﳢ�Ե�l�Ӵ���Ϊ 250���򲻽�Զ��վ�㽫�ڸ÷�������� 100 ��l��֮����ֹ���ڽ��µķ��������ǻ��ᱻ��ֹ�����仰˵��ϵͳ����ÿ����֮��ӳ���l�ӵ������м�ȥ������ʣ�ֻҪl�ӵ��������������ʣ��ͽ���ֹԶ��ϵͳ��

���ָ���� IP ��ַû�г������ÿ����l�����ʣ��������ý�ʧ�ܡ�

�����˸����ʣ����ý��ɹ�����ʲôҲ���᷵�ء�������� $C/$E �����4��ɣ�������ʾ����ʾ��

PORT_ACCESS

  TCP|*|25|*|* \
$C$[
msg_svr_base/lib/conn_throttle.so,throttle,$1,10] \
$N421$ Connection$ not$ accepted$ at$ this$ time$E

����

$C ������ִ�д���һ������Ŀ��ʼ��ӳ���̣���������Ŀ������ַ�����ӳ���̵��������ַ�

$[msg_svr_base/lib/conn_throttle.so,throttle,$1,10] �ǿ���ã����� throttle Ϊ����̣�$1 Ϊ������ IP ��ַ������ֵ 10 Ϊÿ���ӵ�l�Ӵ���

$N421$ Connection$ not$ accepted$ at$ this$ time ���ܾ���ʲ����� 421 SMTP ���루˲̬����ɣ��Լ���Ϣ "Connection not accepted at this time"��

$E ����ֹ��ʱ��ӳ���̡���ʹ�ô���Ŀ������ַ���Ϊӳ���̵����ս��


Ӧ�÷��ʿ��ƺ�

Messaging Server ����������ʿ���ӳ�䡣�˲����ִ��ȡ������ʹ�õĵ����ʼ�Э�飨����Ҫ������Ϣ����ʱ����

���� SMTP Э�飬�ڷ��Ͷ��ܹ������ռ�����Ϣ���ʼ����֮ǰ����Ӧ MAIL FROM: ����ʱ��������һ�� FROM_ACCESS �ܾ��ڷ��Ͷ˷����ʼ����֮ǰ����Ӧ RCPT TO: ����ʱ��������һ�� SEND_ACCESS �� MAIL_ACCESS �ܾ���� SMTP �ʼ����ܾ�Messaging Server ����Զ������ջ�鿴�ʼ���ݣ���ͽ�ִ�д���ܾ�Ŀ����������͡�

����ж����ʿ���ӳ��?Messaging Server ����������Щӳ�����м�顣����FROM_ACCESS��SEND_ACCESS��ORIG_SEND_ACCESS��MAIL_ACCESS �� ORIG_MAIL_ACCESS ӳ��?������Ч��


���Է��ʿ���ӳ��

imsimta test -rewrite ʵ�ó��� �� �ر����� -from��-source_channel��-sender �� -destination_channel ѡ��һ��ʹ��ʱ �� �ڲ��Է��ʿ���ӳ��ʱ������á��й���ϸ��Ϣ����μ� Sun Java System Messaging Server Administration Reference (http://docs.sun.com/doc/819-0106)�������ʾ����ʾ������ SEND_ACCESS ӳ����̽����

MAPPING TABLE:

SEND_ACCESS

  tcp_local|friendly@siroe.com|l|User@sesta.com     $Y
  tcp_local|unwelcome@varrius.com|l|User@sesta.com  $NGo$ away!

PROBE:

$
TEST/REWRITE/FROM="friendly@siroe.com" -
_$
/SOURCE=tcp_local/DESTINATION=l User@sesta.com
...
Submitted address list:
l
    User (SESTA.COM) *NOTIFY FAILURES* *NOTIFY DELAYS* Submitted notifications list:


$
TEST/REWRITE/FROM="unwelcome@varrius.com" -
_$ /SOURCE=tcp_local/DESTINATION=l User@sesta.com
...
Submitted address list:
Address list error -- 5.7.1 Go away! User@sesta.com

Submitted notifications list:


��� SMTP �м�

Ĭ������£�Messaging Server ������Ϊ��ֹ���Ե� SMTP �м̣����ܾ��δ��֤���ⲿԴ���ⲿϵͳ�dz�����������ڵ����������κ�����ϵͳ�����ⲿ��ַ�����ύ�ʼ�����Ĭ����������ֹ SMTP �м�ʱ�൱�����Ϊ����������ϵͳ�������ⲿϵͳ��

��� IMAP �� POP �ͻ�����ͨ�� Messaging Server ϵͳ�� SMTP Server ���ʼ��ύ���ⲿ��ַʱ������δʹ�� SMTP AUTH (SASL) ������֤�����ᷢ�����ύ���Ա��ܾ���ˣ������Ҫ�޸����ã��Ա������ʶ�����Լ���Ӧʼ�մ�������м̵��ڲ�ϵͳ������

����Щϵͳ������ʶ��Ϊ�ڲ�ͨ���� INTERNAL_IP ӳ�����ƣ��ñ���� msg_svr_base/config/mappings ���ҵ���

���磬�� IP ��ַΪ 123.45.67.89 �� Messaging Server ϵͳ�ϣ�Ĭ�ϵ� INTERNAL_IP ӳ���������ʾ��

INTERNAL_IP

   $(123.45.67.89/32)   $Y
   127.0.0.1   $Y
   *   $N

�˴�ʹ�� $(IP-pattern/signicant-prefix-bits) �﷨�ij�ʼ��Ŀָ��ƥ�� 123.45.67.89 ȫ�� 32 λ�� IP ��ַ��ƥ��� IP ��ַ������Ϊ�ڲ���ַ���ڶ�����Ŀ������ IP ��ַ 127.0.0.1 ��Ϊ�ڲ���ַ�����һ����Ŀָ���������� IP ��ַ����Ϊ�ڲ���ַ����ע�⣬ÿ����Ŀǰ������������һ��ո�

�����ͨ�������� $N ��Ŀ֮ǰָ������ IP ��ַ������4���������Ŀ����Щ��Ŀ���������ָ�� IP ��ַ������ʹ�� $(.../...) �﷨4ָ���������Ҳ�ָ�� $Y�����߿����޸����е� $(.../...) ��Ŀ���Խ��ܸ�ͨ�õ�����

���磬����ͬһ����վ�����һ�� C �����磨������ӵ�� 123.45.67.0 ��ȫ���������վ�����ͨ����ƥ���ַʹ�õ�λ��4�޸ij�ʼ��Ŀ�������µ�ӳ����У����ǽ� 32 λ���Ϊ 24 λ����ʹ C �������ϵ����пͻ������ͨ��� SMTP �м̷�����4�м��ʼ���

INTERNAL_IP

   $(123.45.67.89/24)   $Y
   127.0.0.1   $Y
   *   $N

���վ���ӵ�� 123.45.67.80-123.45.67.99 ��Χ�ڵ� IP ��ַ�����վ�㽫ϣ��ʹ�ã�

INTERNAL_IP

! Match IP addresses in the range 123.45.67.80-123.45.67.95
   $(123.45.67.80/28)   $Y
! Match IP addresses in the range 123.45.67.96-123.45.67.99
   $(123.45.67.96/30)   $Y
   127.0.0.1   $Y
   *   $N

��ע�⣬imsimta test -match ʵ�ó����ڼ�� IP ��ַ�Ƿ�ƥ���ض� $(.../...) �������ʱ�����á�imsimta test -mapping ʵ�ó�����ձ����;�Ǽ�� INTERNAL_IP ӳ����Ƿ񷵻��˸��� IP ��ַ��������Ľ��

�޸� INTERNAL_IP ӳ���֮����ȷ������ imsimta restart ������δʹ���ѱ�����������У��� imsimta refresh ������ʹ���ѱ�����������У����Ա�ʹ�����Ч��

�й�ӳ���ļ���ͨ��ӳ����ʽ����ϸ��Ϣ�Լ� imsimta ������ʵ�ó������Ϣ����μ� Messaging Server Reference Manual��

����Ϊ�ⲿվ����� SMTP �м�

�����ڲ� IP ��ַ��Ӧ������˵����ӵ� INTERNAL_IP ӳ����С������Ҫ���������� SMTP �м̵��Ѻû���ϵͳ/վ�㣬��򵥵ķ����ǽ������������ʵ�ڲ� IP ��ַһ��� INTERNAL_IP ӳ����С�

����뽫���ǿ�����ʵ���ڲ�ϵͳ/վ�㣨���磬�����ڼ�¼���������Ŀ�ģ���ϣ�������ʵ�ڲ�ϵͳ�������м�Ȩ�޵��Ѻ÷��ڲ�ϵͳ���������ʹ������4����ϵͳ��

һ�ַ���������һ�������ͨ�#����ڽ���4�Դ����Ѻ�ϵͳ���ʼ��������ͨ�������� tcp_internal ͨ�����Ƶġ�������ʽ����� tcp_friendly-daemon �� tcp_friendly ͨ�#��Լ������� INTERNAL_IP ӳ������Ƶġ��г����Ѻ�ϵͳ IP ��ַ�� FRIENDLY_IP ӳ���4��ɴ����á�Ȼ���ڵ�ǰ��д����֮��

! Do mapping lookup for internal IP addresses
[]    $E$R${INTERNAL_IP,$L}$U%[$L]@tcp_intranet-daemon

���һ���µ���д����

! Do mapping lookup for "friendly", non-internal IP addresses []
$E$R${FRIENDLY_IP,$L}$U%[$L]@tcp_friendly-daemon

����һ�ַ����ǽ�������ʽ������Ŀ��ӵ� ORIG_SEND_ACCESS ӳ�������� $N ��Ŀ֮�ϣ�

  tcp_local|*@siroe.com|tcp_local|*    $Y

���� siroe.com ���Ѻ������ƣ������������ʽ�� ORIG_MAIL_ACCESS ӳ��?

ORIG_MAIL_ACCESS

   TCP|*|25|$(match-siroe.com-IP-addresses)|*|SMTP|MAIL|    \
tcp_local|*@siroe.com|tcp_local|*     $Y
   TCP|*|*|*|*|SMTP|MAIL|tcp_local|*|tcp_local|*    $N

���� $(...) IP ��ַ�﷨����ǰ�½�������﷨��ͬ��ֻҪ��ַ��ȷ��ORIG_SEND_ACCESS ���ͻ�ɹ������ǻ����Խ�һ��ִ�� ORIG_MAIL_ACCESS ��飬�˼�����ϸ��ҽ��� IP ��ַ�� siroe.com IP ��ַ��Ӧʱ�Ż�ɹ���


���� SMTP �м���ֹ

�����ʹ�÷��ʿ���ӳ��4��ֹ����ͨ����� Messaging Server ϵͳ�м� SMTP �ʼ������磬�������ֹ����ʹ������ʼ�ϵͳ��ɰ���ǧ�� Internet �����м�,���ʼ���

Ĭ������£�Messaging Server ����ֹ���� SMTP �м̻����(���� POP �� IMAP �û����м̡�

��ֹδ����Ȩ���м̵�����Ϸ������û������м̣�����Ҫ���� Messaging Server ��ʹ��֪����������}���û������磬ʹ�� POP �� IMAP �ı����û���5�� Messaging Server �䵱 SMTP �м̡�

Ҫ��ֹ SMTP �м̣�������ܹ���

Ҫ�������ڲ����Ϳͻ������ SMTP �м̣�����뽫���ڲ���IP ��ַ��������ӵ� INTERNAL_IP ӳ��?

MTA �������ڲ��ʼ����ⲿ�ʼ�

Ϊ����ֹ�ʼ��м̻��MTA ���������ܹ����Դ�����վ����ڲ��ʼ���Դ�� Internet ��ͨ�����ϵͳ���ͻ� Internet ���ⲿ�ʼ�����Ҫ�������ǰһ���ʼ���Ҫ��ֹ���Ǻ�һ���ʼ�������վ SMTP ͨ�#�ͨ��Ϊ tcp_local ͨ�#���ʹ�� switchchannel �ؼ��֣�Ĭ�����ã�����ʵ�ִ���֡�

switchchannel �ؼ���ͨ��ʹ SMTP �������������4 SMTP l�ӹ�j��ʵ�� IP ��ַ4���й���Messaging Server ���� IP ��ַ����д������ʹ�ã������Դ�����ڵ� SMTP l�Ӻ�4�������l�ӡ�Ȼ�󣬴���Ϣ���������ڲ����ⲿͨ��֮������ʼ�ͨ�š�

��������� MTA ����ΪĬ�����ã��Ա�������������ڲ����ⲿ�ʼ�ͨ�š�

ʹ�������������ã�������ɵ� SMTP �ʼ���ͨ�� tcp_intranet ͨ�=��롣�������� SMTP �ʼ���ͨ�� tcp_local ͨ�=��롣�ʼ�������������ͨ�1����Ϊ�ڲ��ʼ����ⲿ�ʼ���

������������õģ��𰸾��� switchchannel �ؼ��֡��ùؼ��ֱ�Ӧ�õ� tcp_local ͨ�!��ʼ����� SMTP ������ʱ���ùؼ���ʹ������鿴����4l�ӹ�j��Դ IP ��ַ���������Զ���4l�ӵ���ʵ IP ��ַ���з���ָ���ŷ���д�����ҹ�j��ͨ�!����Դ IP ��ַƥ�� INTERNAL_IP ӳ����е� IP ��ַ��������ø�ӳ������д����ʹ��ַ��д�� tcp_intranet ͨ�!�

���� tcp_intranet ͨ�1��� allowswitchchannel �ؼ��֣������ʼ������л��� tcp_intranet ͨ�#����Ӹ�ͨ�=��롣����ʼ����� IP ��ַû�а��� INTERNAL_IP ӳ����е�ϵͳ���룬����ָ���ŷ���д����д�� tcp_local�����߿�����д��ijЩ����ͨ�!����ǣ������д�� tcp_intranet ͨ�#���������Ĭ������£���������ͨ�1����Ϊ noswitchchannel�������ʼ������л�����һͨ�6��DZ����� tcp_local ͨ���С�


ע

��ע�⣬ʹ���ַ� "tcp_local" ���κ�ӳ����ת���ļ���Ŀ���ܶ���Ҫ���Ϊ "tcp_*" �� "tcp_intranet"��ȡ�����÷�����


�������֤�û����ʼ�

���վ����ܾ��в����������������ġ����ء��ͻ����û�������Щ�û��ύ�ʼ�ʱ���ʼ��ύ�����ⲿ IP ��ַ���� �� ���磬���� Internet �����ṩ�̡��������û�ʹ�ÿ���ִ�� SASL ��֤���ʼ��ͻ�������Խ���������֤��l�������������ⲿl����ֿ���Ȼ���������������֤���ύ��ͬʱ�ܾ�δ��֤���м��ύ���ԡ�����վ SMTP ͨ�#�ͨ��Ϊ tcp_local ͨ�#���ʹ�� saslswitchchannel �ؼ��ֿ����������֤�ĺ�δ��֤��l�ӡ�

saslswitchchannel �ؼ���ʹ�ñ�4ָ��Ҫ�л�����ͨ�#���� SMTP ��������֤�ɹ��������ύ���ʼ�������Ϊ����ָ�����л�����ͨ�!�

Ҫ����������֤���ύ����ִ�����²��裺

  1. �������ļ��У���Ӵ��ж�����Ƶ��� TCP/IP ͨ�6��壬���磺
  2. tcp_auth smtp single_sys mx mustsaslserver noswitchchannel
    TCP-INTERNAL

    ��ͨ��Ӧ�����?��ͨ���л���������ͨ����Ӧͨ��֮ǰ��Ĭ����������ʽ���л�ʾ���� noswitchchannel������ͨ����Ӧ���� mustsaslserver��

  3. ͨ����� maysaslserver �� saslswitchchannel tcp_auth 4�޸� tcp_local ͨ�#�������ʾ����ʾ��
  4. tcp_local smtp mx single_sys maysaslserver saslswitchchannel tcp_auth  \
    switchchannel
    |TCP-DAEMON

ʹ�ô����ú��ܹ�ʹ�ñ������������֤���û����͵� SMTP �ʼ������� tcp_auth ͨ�!����ڲ�����͵�δ��֤�� SMTP �ʼ��Խ����� tcp_internal���������� SMTP �ʼ������� tcp_local��

��ֹ�ʼ��м�

����Ҫ���۴�ʾ���Ҫ�㣺��ֹδ����Ȩ����Աͨ�����ϵͳ�м� SMTP �ʼ������ȣ����ס��Ҫ���?���û��м� SMTP �ʼ������磬POP �� IMAP �û���5ʹ�� Messaging Server 4�������ʼ�����ע�⣬�����û��������������DZ��أ�����������£����ʼ����ڲ� IP ��ַ���룩��Ҳ��������������Զ�̣������Խ�������֤Ϊ�����û���

��Ҫ��ֹ�ⲿ Internet �ϵ�������Աʹ����ķ�������Ϊ�м̡�ʹ�����¸����������ã��������ִ����û�����ȷ�ؽ�����ֹ������4˵����Ҫ��ֹ�ʼ����� tcp_local ͨ�:ʹ�ͬһͨ�7��ء�Ҫ�ﵽ��Ŀ�ģ�����ʹ�� ORIG_SEND_ACCESS ӳ��?

ORIG_SEND_ACCESS ӳ�������ڻ���Դͨ�:�Ŀ��ͨ��4��ֹͨ�š�����������£�4�� tcp_local ͨ�:ͷ��ظ�ͨ�5�ͨ�Ž�����ֹ�������ͨ������ ORIG_SEND_ACCESS ӳ���ʵ�֣�

ORIG_SEND_ACCESS

   tcp_local|*|tcp_local|*        $NRelaying$ not$ permitted

�ڴ�ʾ���У���Ŀ�����ʼ����ܽ��� tcp_local ͨ�#�Ҳ���ܴӸ�ͨ��ֱ�ӷ��ء���������Ŀ�������ⲿ�ʼ�������� SMTP ��������������ⲿ�ʼ�ֱ���м̻� Internet��

ϵͳʹ�õ��� ORIG_SEND_ACCESS ӳ����� SEND_ACCESS ӳ��?�Ա���ֹ����Ӧ�������ƥ�� ims-ms ͨ�5ĵ�ַ���������ͨ�������ʼ��б?��)չ���ⲿ��ַ����ʹ�� SEND_ACCESS ӳ��?��Ҫ�ܳ��ij��ȣ����������ⲿ��Ա���͵���)չ���ⲿ�û����ʼ��б?���͵��ɽ����ʼ�ת�����ⲿ��ַ���û���

ʹ�� DNS ���ң���(���� SMTP �м���ֹ�� RBL ��飩

�� Messaging Server �У��ж��ֲ�ͬ�ķ�������ȷ�����н��յ����ڴ��ͻ�ת�����ʼ���4�Ծ�����Ч DNS ��Ƶĵ�ַ����򵥵ķ����ǽ� mailfromdnsverify ͨ�9ؼ��ַ��� tcp_local ͨ�!�

Messaging Server ���ṩ�� dns_verify ������ʹ�����ʹ�� ORIG_MAIL_ACCESS �е����¹���ȷ�����н��յ����ڴ��ͻ�ת�����ʼ���4�Ծ�����Ч DNS ��Ƶĵ�ַ��

ORIG_MAIL_ACCESS

  TCP|*|*|*|*|SMTP|MAIL|*|*@*|*|* \
$[msg_svr_base/lib/dns_verify.so, \
dns_verify,$6|$$y|$$NInvalid$ host:$ $$6$ -$ %e]

�Ӿ䷨��4˵������ʾ���еĻ��з��ڴ���ӳ����Ŀ�к�����б���ַ���һ�ֺϷ��ؼ�����һ�еķ�����

dns_verify ӳ��Ҳ�����ڼ�������� RBL��ʵʱ������MAPS���ʼ����÷�ֹϵͳ����DUL�������û��б?�� ORBS�������м�����ϵͳ���б����4l�ӣ���Ϊ��һ�ַ�ֹ UBE �ij��ԡ������µ� mailfromdnsverify �ؼ��֣�����һ�ֵ��5ġ����ü򵥡��ķ�������������ļ�飬���ִ�� dns_verify ���á����ּ򵥷�����ʹ�� dispatcher.cnf �ļ��е� DNS_VERIFY_DOMAIN ѡ����磬�� [SERVICE=SMTP] �����У���ѡ���ʵ������ΪҪ���ĸ���б?

[SERVICE=SMTP]
PORT=25
! ...rest of normal options...
DNS_VERIFY_DOMAIN=rbl.maps.vix.com
DNS_VERIFY_DOMAIN=dul.maps.vix.com
!...etc...

����������£��ʼ��� SMTP ���𱻾ܾ����ʼ��� SMTP �Ի��ڼ䱻�ܾ������Զ���ᱻ���͵� MTA�����ּ򵥷�����ȱ�����ڣ�������������4 SMTP �ʼ�����(��Щ4���ڲ��û����ʼ���ִ�м�顣���ַ���Ч�ʽϵͣ������� Internet l���Խ��͵�����¿��ܻᷢ�����⡣һ�ֱ��÷����Ǵ� PORT_ACCESS ӳ���� ORIG_MAIL_ACCESS ӳ������ dns_verify���� PORT_ACCESS ӳ����У������ʹ��ʼ��Ŀ����鱾���ڲ� IP ��ַ���ʼ��ύ�ߣ��Ϻ����Ŀ������ IP ��ַ���ʼ��ύ�߽�������ļ�顣���ߣ��� ORIG_MAIL_ACCESS ӳ����У������ֻ�����Ӧ���ڴ� tcp_local ͨ�=�����ʼ��������4���ڲ�ϵͳ/�ͻ�����ʼ�������顣ʾ��ʹ����ָ�� dns_verify ����Ŀ��������ʾ��

PORT_ACCESS

! Allow internal connections in unconditionally
  *|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E
! Check other connections against RBL list
  TCP|*|25|*|* \
$C$[
msg_svr_base/lib/dns_verify.so, \
dns_verify_domain_port,$1,rbl.maps.vix.com.]EXTERNAL$E

ORIG_MAIL_ACCESS

  TCP|*|25|*|*|SMTP|*|tcp_local|*@*|*|* \
$C$[
msg_svr_base/lib/dns_verify.so, \
dns_verify_domain,$1,rbl.maps.vix.com.]$E

֧�ֻ��� DNS ����ݿ�

dns_verify ����֧�ֻ��� DNS ����ݿ⣬����ݿ�����ȷ�����ܷ���δ����ɵ����ʼ�����4 SMTP l�ӡ�ijЩ���� DNS ��ݿⲻ��ͨ�����ڴ���;�� TXT ��¼��ʵ���ϣ�����ֻ�� A ��¼��

�ڵ��������У����ض� IP ��ַ�� DNS ���ҵ��� TXT ��¼��һ����ھܾ��ʼ�ʱ���ص� SMTP �ͻ���Ĵ�����Ϣ�����ǣ����δ�ҵ� TXT ��¼���ҵ��� A ��¼���� Messaging Server 5.2 ��ǰ�� dns_verify �汾��������Ϣ "No error text available"��

dns_verify ����֧��һ��ѡ���ѡ�����û�п��õ� TXT ��¼ʱָ��ʹ�õ�Ĭ���ı������磬���� PORT_ACCESS ӳ�����ʾ��������ô�ѡ�

PORT_ACCESS

    *|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E  \
    TCP|*|25|*|*  \
$C$[
<msg_svr_base/lib/dns_verify.so  \
,dns_verify_domain_port,$1,dnsblock.siroe.com,Your$ host$ ($1)$  \
found$ on$ dnsblock$ list]$E
    * $YEXTERNAL

�ڴ�ʾ���У�����ڶ��� dnsblock.siroe.com �IJ�ѯ���ҵ���Զ��ϵͳ����û�п��õ� TXT ��¼����ϵͳ������������Ϣ "Your host a.b.c.d found on dnsblock list"��


�����������Ŀ

��ӳ�����ʹ�ô���Ŀ��վ��Ӧ���ǽ���ӳ�����֯Ϊ��������䱸ͨ��ͨ������Ŀ����Щ��Ŀ���Ե���ͨ����ݿ�4�����ض��IJ��ҡ�����ض����ң�ʹ�����ӳ�����Ŀ����ͨ����ݿ��ֱ����ӳ�����ʹ�ô�����ĿЧ��Ҫ�ߵöࡣ

һ��������ijЩվ��ϣ���˭���Է��ͺͽ��� Internet �����ʼ����л��ڵ����û��Ŀ��ơ�ʹ������ ORIG_SEND_ACCESS �ķ���ӳ�����Ժܷ����ʵ�ִ�����ơ����������÷���ͨ����ض���Ϣ�������ض���ַ���洢��ͨ����ݿ��У�ͬʱ�ṹ��ӳ�����Ŀ�Զ�ͨ����ݿ�����ʵ����ã������������Ч�ʺ����ܡ�

���磬�뿼��������ʾ�� ORIG_SEND_ACCESS ӳ��?

ORIG_SEND_ACCESS

! Users allowed to send to Internet
!
  *|adam@siroe.com|tcp_local|*    $Y
  *|betty@siroe.com|tcp_local|*   $Y
! ...etc...
!
! Users not allowed to send to Internet
!
  *|norman@siroe.com|tcp_local|*  $NInternet$ access$ not$ permitted
  *|opal@siroe.com|tcp_local|*    $NInternet$ access$ not$ permitted
! ...etc...
!
! Users allowed to receive from the Internet
!
  tcp_*|*|*|adam@siroe.com        $Y
  tcp_*|*|*|betty@siroe.com       $Y
! ...etc...
!
! Users not allowed to receive from the Internet
!
  tcp_*|*|*|norman@siroe.com      $NInternet$ e-mail$ not$ accepted
  tcp_*|*|*|opal@siroe.com        $NInternet$ e-mail$ not$ accepted
! ...etc...

��ͨ��ÿ���û�����������еĴ���ӳ�����ȣ�����ʾ������ʾ��һ�ָ���Ч�����ã�����(�ɰ���ǧ���û���Ŀ�����Ϊ��Ч��������ʾ�˳�����ݿ������Դ�ı��ļ������� ORIG_SEND_ACCESS ӳ��?Ҫ����Դ�ļ��������ݿ��ʽ�������� imsimta crdb ���

% imsimta crdb input-file-spec output-database-spec

�й� imsimta crdb ʵ�ó������ϸ��Ϣ����μ� Sun Java System Messaging Server Administration Reference��

DATABASE ENTRIES

 

SEND|adam@domain.com    $Y
SEND|betty@domain.com   $Y
! ...etc...
SEND|norman@domain.com  $NInternet$ access$ not$ permitted
SEND|opal@domain.com    $NInternet$ access$ not$ permitted
! ...etc...
RECV|adam@domain.com    $Y
RECV|betty@domain.com   $Y
! ...etc...
RECV|norman@domain.com  $NInternet$ e-mail$ not$ accepted
RECV|opal@domain.com    $NInternet$ e-mail$ not$ accepted

 

MAPPING TABLE

 

ORIG_SEND_ACCESS

! Check if may send to Internet
!
  *|*|*|tcp_local       $C${SEND|$1}$E
!
! Check if may receive from Internet
!
  tcp_*|*|*|*           $C${RECV|$3}$E

��ʾ���У���ͨ����ݿ�����������ַ� SEND| �� RECV| ��ʹ�ã��Լ��ɴ���ӳ�����ɵ�ͨ����ݿ�̽���У��ṩ��һ���������ɵ�}��̽��ķ�������ͼ��ʾ���� $C �� $E ��־����ͨ����ݿ�̽����ӳ������ͨ����ݿ��кܵ��͡�

����ʾ����ʾ�˸��ͨ����ݿ���Ŀ����ӳ���̽��������и��ӵö��̽���ӳ���Ҳ���Դ�ʹ��ͨ����ݿ������档


�� 2 ���֣����������

���������Ҳ��Ϊ Sieve ��������������ʼ������а�ָ���ַ���ʼ�������Щ�ʼ�Ӧ��ָ���������Ա���Թ���ͨ��ͨ�;� MTA ���͵��û����ʼ���Messaging Server ������洢�ڷ������ϲ��ɷ������9#���ˣ���Щ��������ʱ��Ϊ������˹��� (SSR)��

�����ְ����¸�ڣ�


Sieve ������֧��

Messaging Server ��������� Sieve �������� (Draft 9 of the Sieve Internet Draft)���й� Sieve �﷨������ĸ����Ϣ����μ� RFC3028�����⣬Messaging Server ��֧������ Sieve )չ��


Sieve ���˸���

Sieve ��������һ�����ҪӦ�����ʼ������������ɣ�ȡ�����ʼ������е��ַ�����Ϊ����Ա������Դ���ͨ�<���Ĺ������ MTA ��Χ�ڵĹ��������Է�ֹ���Ͳ���Ҫ���ʼ����û�����ʹ�� Messenger Express Ϊ���Լ������䴴�������û��Ĺ�����Messenger Express j�����Դ˽�������ϸ��˵��

���������������ȼ�Ӧ�ù�����

  1. �û�����Ĺ�����
  2. �����������������ȷ���ܻ�ܾ�һ���ʼ����������Ը��ʼ��Ĵ�����ɡ���������ռ����û�û����������� �� ���û������������û����ȷӦ�õ���������ʼ� �� Messaging Server ���Ž�Ӧ��ͨ�<���Ĺ��������û����û��Ĺ�����

  3. ͨ�<���Ĺ�����
  4. ���ͨ�<���Ĺ�������ȷ���ܻ�ܾ�һ���ʼ����������Ը��ʼ��Ĵ�����ɡ�����Messaging Server ���Ž�Ӧ�� MTA ��Χ�ڵĹ���������У���

  5. MTA ��Χ�ڵĹ�����

Ĭ������£������û���û������������û�ʹ�� Messenger Express ���洴��һ����������ʱ�����ǵĹ�����洢��Ŀ¼�У�����Ŀ¼ͬ������ڼ��� MTA ���м���


�����û�����Ĺ�����

�����û����ʼ�������Ӧ���ڷ����ض��û���������ʼ���ֻ��ʹ�� Messenger Express ���������û����ʼ�������


����ͨ�<���Ĺ�����

ͨ�<���Ĺ�����Ӧ������ͨ�����Ŷӵ�ÿ���ʼ������������ĵ�����;����ֹͨ���ض�ͨ�5��ʼ���

Ҫ����ͨ�<���Ĺ�������ִ�����²��裺

  1. ʹ�� Sieve ��д������
  2. ��������洢��λ������Ŀ¼���ļ��У�
  3. ../config/file.filter

    ���ļ������ȫ�ֶ�ȡ�������� MTA �� uid��

  4. ���������ݰ�(��ͨ�������У�
  5. destinationfilter file:IMTA_TABLE:file.filter

  6. ���±������ò�������ַ�����
  7. ��ע�⣬�Թ������ļ�����ĸ���������±����������ַ�����

destinationfilter ͨ�9ؼ��ֽ�Ϊ�Ŷ���Ӧ���ʼ����˹��ܵ�ͨ�5��ʼ������ʼ����ˡ�sourcefilter ͨ�9ؼ��ֽ�Ϊ4��Ӧ���ʼ����˹��ܵ�ͨ�6��е��ʼ������ʼ����ˡ���Щ�ؼ��ֶ���һ��������ò���ָ������ͨ�9�j����Ӧͨ�9������ļ�·����

destinationfilter ͨ�9ؼ��ֵ��﷨Ϊ��

destinationfilter URL-pattern

sourcefilter ͨ�9ؼ��ֵ��﷨Ϊ��

sourcefilter URL-pattern

���� URL-pattern ��һ�� URL��ָ���˵��������ͨ�5Ĺ������ļ���·����������ʾ���У�channel-name Ϊͨ�5���ơ�

destinationfilter file:///usr/tmp/filters/channel-name.filter

filter ͨ�9ؼ���ʹӦ���ʼ����˵�ͨ���������ʼ����ˡ��ùؼ�����һ��������ò���ָ������ͨ��ͨ�=����ʼ���ÿ���ŷ��ռ��˹�j�Ĺ������ļ�·����

filter ͨ�9ؼ��ֵ��﷨Ϊ��

filter URL-pattern

URL-pattern ��һ�� URL���ڽ��������滻���д���󣬽���ɸ��ռ��˵�ַ�Ĺ������ļ�·����URL-pattern ���԰������滻���У��������ʱ������Դ���ռ��˵�ַ��������� local-part@host.domain�����ַ������ 17-4 ����ʾ����Щ�滻���С�

fileinto �ؼ���ָ����Ӧ������������� fileinto �����ʱ��θ�ĵ�ַ������ʾ��ָ�����ļ������Ӧ��Ϊ�ӵ�ַ����ԭʼ��ַ�����ԭ�ȴ��ڵ��κ��ӵ�ַ��

fileinto $U+$S@$D

�� 17-4 filter ͨ�9ؼ��� URL-pattern �滻��ǣ�����ִ�Сд��

���

����

*

ִ����)չ��

**

)չ���� mailForwardingAddress���������һ���²�����ɴ��͵�ַ�Ķ�ֵ���ԡ�

$$

�� $ �ַ����滻

$\

ǿ�ƺ����ı�תΪСд

$^

ǿ�ƺ����ı�תΪ��д

$_

���Ժ����ı�ִ�д�Сдת��

$~

�����ַ���ز��ֹ�j����Ŀ¼���ļ�·�����滻

$1S

�� $S ��ͬ�������û�п��õ��ӵ�ַ����ʲôҲ������

$2S

�� $S ��ͬ�������û�п��õ��ӵ�ַ����ʲôҲ�����룬��ɾ��ǰ����ַ�

$3S

�� $S ��ͬ�������û�п��õ��ӵ�ַ����ʲôҲ�����룬�������Ժ���ַ�

$A

�ڵ�ַ local-part@ host.domain ���滻

$D

�� host.domain ���滻

$E

����ڶ��������� LDAP_SPARE_1 ��ֵ

$F

���봫���ļ�����ƣ�mailDeliveryFileURL ���ԣ�

$G

����ڶ��������� LDAP_SPARE_2 ��ֵ

$H

��������滻

$I

�����й���domainUidSeparator ָ���ķָ���Ҳ�� UID ��һ���֣������û�п��õ��й�����ʧ��

$1I

�� $I ��ͬ�������û�п��õ��й�����ʲôҲ������

$2I

�� $I ��ͬ�������û�п��õ��й�����ʲôҲ�����룬��ɾ��ǰ����ַ�

$3I

�� $I ��ͬ�������û�п��õ��й�����ʲôҲ�����룬�������Ժ���ַ�

$L

�ڱ��ز������滻

$M

���� UID�������κ��й���

$P

���뷽����ƣ�mailProgramDeliveryInfo ���ԣ�

$S

�����뵱ǰ��ַ��j���ӵ�ַ���ӵ�ַ��ԭʼ��ַ���û��������ӵ�ַ�ָ��ͨ��Ϊ +��֮��IJ��֣����� MTA ѡ�� SUBADDRESS_CHAR ָ�������û�и��ӵ�ַ����ʧ��

$U

���뵱ǰ��ַ�����䲿�֡�������� @ �������ȫ����ַ��Ҳ�����ǵ�ַ��ࡢ�ӵ�ַ�ָ�� + ֮ǰ�IJ��֡�


���� MTA ��Χ�ڵĹ�����

MTA ��Χ�ڵĹ�����Ӧ�����Ŷӵ� MTA �������ʼ������������ĵ�����;����ֹδ����ɵ����ʼ���������Ҫ���ʼ�������ʼ���Ŀ�ĵ�Ϊ�Ρ�Ҫ���� MTA ��Χ�ڵĹ�������ִ�����²��裺

  1. ʹ�� Sieve ��д������
  2. ��������洢�������ļ��У�
  3. ../imta/config/imta.filter

    �˹������ļ������ȫ�ֶ�ȡ�������ļ����ڣ����Զ�����ʹ�á�

  4. ���±������ò�������ַ�����

ʹ���ѱ��������ʱ��MTA ��Χ�ڵĹ������ļ��������ѱ���������С�

���ѷ�����ʼ�·�ɳ� FILTER_DISCARD ͨ��

Ĭ������£�ͨ����������������ʼ���b����ϵͳ����ɾ����ǣ��û���������������������ܷ�����ʱ������ڵ���Ŀ�ģ���ʹɾ������ӳ�һ��ʱ����ܻ�����á�

Ҫʹ��������������ʼ���ʱ������ϵͳ�����պ�ɾ�������Ƚ� filter_discard ͨ����ӵ� MTA ���ã���ʹ�� notices ͨ�9ؼ���ָ��ɾ���ʼ�ǰ�����ʼ���ʱ�䳤�ȣ�ͨ��Ϊ����������ʾ����ʾ��

filter_discard notices 7
FILTER-DISCARD

Ȼ���� MTA ѡ���ļ�������ѡ�� FILTER_DISCARD=2��filter_discard ���������е��ʼ�Ӧ������λ���û��ĸ���,�����ļ��е�)չ�С���ˣ���ע����� filter_discard ���������е��ʼ���ϵͳ��Զ���ᷢ�;�����Ϣ��Ҳ���������󵯻ػ򷵻�ʱ���������ʼ������䷢���ˡ�����ڴ����ʼ���ȡ��Ψһ�����ǣ������ֵ֪ͨ���ڣ���ʹ��ʵ�ó������� imsimta return�������ֶ�����ʱ����������ʾ��ɾ����Щ�ʼ���

�� Messaging Server 6 2004Q2 ֮ǰ���� FILTER_DISCARD MTA ѡ����� jettison Sieve ����� filter_discard ͨ�5�ʹ�á����ڣ��˲�����ѡ�� FILTER_JETTISON ���ƣ���ѡ��� FILTER_DISCARD �����н�����Ĭ��ֵ���� FILTER_DISCARD ��Ĭ��ֵΪ 1������ת�� bitbucket ͨ�#���


�����û�����Ĺ�����

����û���Թ Sieve ������ı���δ�ﵽԤ��Ч������Բ�ȡ����ʩ4���Թ������������Щ��������˽��ܡ�

  1. Ϊ��ʹ fileinto �����ܹ��������� imta.cnf �ļ���ims-ms ͨ�=�����Ϊ������ʽ���м��ù��ˣ�
  2. fileinto $u+$s@$d

  3. ���û� LDAP ��Ŀ�л�ȡ�û����������
  4. �û������������� MailSieveRuleSource �����µ� LDAP ��Ŀ�С�Ҫʹ�� ldapsearch ����4����˹��������ס������ base64 ���룬�������Ҫʹ�� -Bo ����ѡ��������н��롣

    ./ldapsearch -D "cn=directory manager" -w password -b "o=alcatraz.sesta.com,o=isp" -Bo uid=test

    ��������� imsimta test -rewrite ����Ҳ���Զ������ǽ��н��롣

  5. ���� MTA �Ƿ����ڲ鿴�û�������
  6. �������

    # imsimta test -rewrite -filter -debug user@sesta.com

    ������Ӧ�������ǰ��IJ����м�����û� Sieve ���������δ�������������Ҫָ��Ϊʲô LDAP ��Ŀδ������Щ��������� imsimta test -rewrite �����ʾ����������� MTA ���ڲ鿴�û���������һ����ʹ�� imsimta test -expression ������Թ�����Ľ��͡�

  7. ʹ�� imsimta test -exp �����û���������Ҫ������Ϣ��
    1. mailSieveRuleSource �����е��û� Sieve ������䡣��μ����ϲ��衣
    2. ����������� rfc2822 �ʼ���
    3. ���������Ӧ���ʼ�����ʲô����
  8. �����ı��ļ������磺temp.filter�������ı��ļ�������û� mailSieveRuleSource: values �� Sieve ������䡣ʾ��
  9. require "fileinto";
    if anyof(header :contains
    ["To","Cc","Bcc","Resent-to","Resent-cc",
       "Resent-bcc"] "commsqa"){
       fileinto "QMSG";
    }

    Ԥ�ڽ����� commsqa �Ǵ��ʼ����ռ��ˣ����ʼ��鵵����Ϊ QMSG ���ļ����С�

  10. ������Ϊ test.msg ���ı��ļ������ļ����û��ṩ�� rfc2822 �ʼ��ļ������ݡ�
  11. �����ʹ���û��ʼ��洢�����е� .msg �ļ���Ҳ���Դ�����Ϊ test_rfc2822.msg ���ı��ļ������ļ����û��ṩ�� rfc2822 �ʼ��ļ������ݡ�

  12. ʹ�� imsimta test -exp ���
  13. # imsimta test -exp -mm -block -input=temp.filter -message=test_rfc2822.msg

  14. ������
  15. imsimta test -exp ���������н���ʾ Sieve ���͵Ľ���������ڣ�

    Sieve Result: []
    ��
    Sieve Result: [action]

    ���У�action ����Ϊ�ڴ��ʼ���Ӧ�� Sieve ������Ľ���Ҫִ�еIJ���

    ������������ƥ�䣬���õ���ʾΪ����ij��������û��ƥ���Sieve ���Ϊ�գ�ԭ���� Sieve �������д����߼������ .msg �ļ�����ƥ����Ϣ������յ��κ���������� Sieve �ű��ļ��д����﷨��������Ҫ������е��ԡ�

    �й�������ϸ��Ϣ����μ� imsimta test -exp �����

  16. ����������﷨��Ч���ҽ����ȷ����һ������� tcp_local_slave.log ������־�ļ���
  17. ���ܻ�������ڲ��Ե��ʼ��ļ������ڷ��͵��ʼ��ļ�����ͬ�����Ҫ�鿴���ڽ���ʲô�ʼ���Ψһ�����ǣ���� tcp_local_slave.log �ļ�������־��������ʾ���ڷ��͵� MTA ��ʵ���ʼ��Լ���ν�������Ӧ�õ����ʼ���

    �йػ�ȡ tcp_local_slave.log �����ļ��ĸ����Ϣ����μ����Թؼ����е� slave_debug �ؼ��֡�

imsimta test -exp ���

�������� imsimta test -exp ���£�

# imsimta test -exp -mm -block -input=temp.filter -message=rfc2822.msg

������һ�����ʾ��

����ʾ�� 17-4 imsimta test -exp ���

# imsimta test -exp -mm -block -input tmp.filter -message=rfc2822.msg
Expression: if header :contains ["to"] ["pamw"] (1)
Expression: {
Expression: redirect "usr3@sesta.com";
Expression: keep;
Expression: }
Expression:
Expression: Dump: header:2000114;0 3 1 :contains 1 "to" 1
"pamw" if 8 ;
Dump: redirect:2000121;0 1 1 "usr3@sesta.com" ; keep:2000117;0 (2)
Dump: 0
Result: 0
Filter result: [ redirect "usr3@sesta.com" keep ] (3)

1) Expression:�������ʾ�� tmp.filter �ı��ļ��ж�ȡ�ͽ���Ĺ�������Щ�ڵ��Խű��в����ر����á�

2) Dump:������Ǽ������� Sieve ���Ľ��Ӧ�������κδ��󣬲��������4Ӧ��������ƥ�䡣���� dump ��ʾ�� redirect, usr3@sesta.com����������ļ��е��� redirect "usr3@sesta.com"; ���ơ�

���δ��ʾ��ƥ���ı�����Ӧ������ע�⣬���������ڵ��Խű�ʱҲ�����ر����á�

3) �����ĵײ�����õ� Filter result: ��䡣��ǰ�����������}�ֽ��

Sieve Result: []             ��             Sieve Result: [action]

���� action �� Sieve �ű�ִ�еIJ�����ע�⣬��ʱԤ�ڵĽ��Ϊ�ա����磬���� discard ��������Ӧ�����Ըù������Ƿ�ʼ�ն���ÿ�� .msg �ļ��������Dz��Ըù�����ʱ��Ҫ���յ��ļ�������ڷ�(�ż����ij��������磺

Filter result: [ fileinto "QMSG" keep]

����� rfc2822.msg �ļ��е��ı�����������ƥ�䡣������ض�ʾ���У���������ʼ��鵵�� QMSG �ļ����У������ռ����б���һ�ݸ�������ʾ���в���IJ����� fileinto �� keep��

���Թ�����ʱ��Ӧ������}����ĸ�� .msg �ļ���Ӧʼ�ղ����Ƿ��ѹ���ƥ���������ʼ����������Ƿ�δ���˲���ƥ����ʼ���

���ס������ͨ���ƥ�䣬�����ʹ�� :matches ���Զ�Ҫʹ�� :contains�����磬���Ҫƥ�� from=*@sesta.com�������ʹ�� :matches��������Խ����ڲ�������������ʧ�ܡ�

imsimta test -exp �﷨

imsimta test -exp �����ָ���� RFC2822 �ʼ����� Sieve ������䣬����������Ľ���͵���׼���

�﷨���£�

imsimta test -exp -mm -block -input=Sieve_language_scriptfile -message=rfc2822_message_file

����

-block ������������Ϊһ�� Sieve �ű���Ĭ������£���ÿ����Ϊһ��5Ľű������ֱ��������9!����ڵ����ļ�ĩ��ʱ�9� Sieve��

-input=Sieve_file �ǰ� Sieve �ű����ļ���Ĭ������£����� stdin �ж�ȡ���Խű��л�ű��顣

-message=message_file ��һ���ı��ļ�������� Sieve �ű�����յ� RFC 2822 �ʼ�����ֻ���� RFC 2822 �ʼ��������Ƕ����ļ������� zz*.00 �ļ�����

����󣬴������ȡ�ű���Ϣ���ڲ����ʼ������������98���Ϣ����д��������ʾ������ʲô�����Լ��ű������������9=��

�������õ��޶����(��

-from=address ָ��Ҫ���ŷ������ʹ�õ��ŷ� from: ��ַ��Ĭ������£�ʹ���� RETURN_ADDRESS MTA ѡ��ָ����ֵ��

-output=file �����д�� file��Ĭ������£����ű����Խ��д�� stdout �С�



��һҳ      Ŀ¼      ����      ��һҳ     


��Ȩ���� 2005 Sun Microsystems, Inc. ��������Ȩ��