���������
������ ����� ���������� ��������
��������� ������ procmail. ����� �������� ��� ������, ��������� ������� ���� 3.11pre7.
����� ��������� ��������� ���� ���������, ��� ����������� ��� ���������� ��������������� ��������� ��������:
tar -xzvf procmail.tar.gz
��������� ��� ����������� � �������������� ������ Makefile �
config.h. ��������� ��� ������ ������ ��������, � ����� ��� ��������� �� ���������,
�� �� ����� ��������� ��������� ����� ������������ ���� ������. ������������������ �������� ����� ���������� �
���������� ��������� (manual pages) � ������������ � �������� ������� ������������.
��� �� �����, � ������������� ����� BASENAME � Makefile ������ �����������.
���� ������ �� ��������� ������� �������, � ������� ����� ���������� procmail. �� ���������� ���� ��������
�������� ������ ������ ��������, ����� ��� bin � man.
�������, ��� ���������� ������ �� ������ ��������� �������
make install.
Procmail ����� ���������� ��� ���� ������� � ����� �������� ��������� �������� sendmail(8), ���
�� ����� ���� ���������� ����� ������������� ��� ������� �������������. � ��������� ������ ������������
��������� ������������� procmail � ����� ����� .forward, ��� ������ �������������� ������ �� �������
���������:
|IFS=' ' && exec /home/juan/procmail/bin/procmail -f- || exit 75 #juan
� ���� ������ � �����������, ��� ������������ juan ��������� procmail � ���� �������� �������
HOME. ��� ���� ���������� ������ BASENAME, ����������� �� ����� ����������, �����
/home/juan/procmail.
�������� �������
Procmail ������ �� ������ ������������ �����. �� ��������� ���������������� ���� .procmailrc,
������� ������ ���������� � �������� HOME ������������.
� ���� ����� ������������ ��������� �������, ������� ��������� procmail, ����� �������� ���� �����������
����� ��������� ���������.
�� ����� ������, ��� � ��� ������ - ��������� ���, ������������, ������������� ��������
� �.�. - �������� ��������� ������ � ��������� ���������.
����� ����, procmail ��������� ��� ������������� ������������ ���������� ����� ��� �����, ���������� � �����.
������������
������������ ���������������� ���� .procmailrc � �� ������ ���������� � �������� HOME.
����� ������, ������������ � # ��������� ������������.
������, ������������ � :0 ��� :0: ��������� �� ������ ������ �������, ������� �������
procmail ��� ������ � ����������.
������, ������������ � *, ���������� ������� ���������� �������. Procmail
���������� ���� �������� ��� ����������� ���������, ������� ���������� ���������� ���� ��������.
���������� ������, �� ���� ��, ������� �� ���������� � : ��� * ���������������
��� �������, ���, ������� �������, ��������������� procmail'�� ��������, ��������������� �������. ����������
���������� ���������� ��� ��������� ����� ���� ������� ���������, ��������� ���������, ��������� ��������� �
�.�.
������ ����� ���������� ������� � .procmailrc ��������� ���������� ���������,
����� ��������� ��������� �� ����������, ������� �� � �������������� ���������� � ����� .procmailrc
MAILDIR
��������� �� �������, � ������� procmail ��������� ����� � ��������� �����������. ������ ��� ����������
��������� �� $HOME/mail ��� $HOME/Mail. ��� ��� ���� �������, ������� �� ������������� ��������� �������.
LOGFILE
��������� �� ��� ���-�����, � ������� procmail ���������� ��� ����������� ��������.
SENDMAIL
��������� �� ��, ��� ����� sendmail, ������� ������������ ��� ��������������� ������ �� ���������.
FORMAIL
��������� �� ��, ��� ����� formail. ��� ��������� ���������������� ������ � procmail � �� ������� ��������
��������� �������� ���������� ��� ������������������ ��������� ��� �������� ��� ����������.
DEFAULT
����, � ������� ����������� ���������, ���� procmail �� ����� ��������� � ���� �� ������ ������������� �������.
���������� ���������� ��������� ����� � ����� ����� .procmailrc. ���� ���������� �������� ��� �������
=, �� ������� ������� ��������, �� ����� ���������� ���������.
��� �������� ������, �� ��� ������� �� ��� ������:
������ ������������, ��� ����� �� ���������� ��������� ����������, � ���������.
������ ������� �������, ����� ��������� ��������������, ��� � ����� ��������� ���������� ������� �� �����������
� ������� ��������� ��������� ������������.
������ ��� ������, �� ���� ��, ������� �� �������, ��� ��������� ���������� ����� �� ���������, �����
������� ��� ������������� ���������� ������ � ��� ������������ ��������� ����� ��������� ������ � ���� ��
���������.
����� ��������� ������� ���������:
:0 [�����] [ : [����������� ����] ]
* ������� 1
* ������� 2
.
.
.
* ������� N
�������
��������� �� ������ ����� � �������������� �� �����������. ������ �����, ������ ������� ���������� �
:0, ����� ����� ����� ��������� ����� �� ���� �����:
H ������� ����������� � ��������� �����.
B ������� ������ � ���� ���������.
D ��� ������� ��������, ��� ������� � ������ �������� �����������.
A ��� ������� ����������� ������ ����� ����������� ����������.
a ��� � A, �� ����������� ����, ��� ��� ���������� ����������� ������� ������ �� ������ ����.
E ��� ������� �����������, ���� ���������� �� ���� ���������.
e ��� ������� ����� ���������, ���� ���������� ��� ���������, �� ����������� � ��������.
h ������� ���������� ��������� ���������.
b ������� ���������� ���� ���������.
f ������� ���������������� ��� ������.
c ������� ����� cc ���������. ��� ���������� ����� ������� ��������������, ��� ���������
������������ � ���� ������ � ����� ��� �������� ���������� ������� ����� ��������� � ����� ���������.
w ����� ��������� ���������� ������� ��� ��������� ����������.
W ��� �� ��� � ���������� �����, �� � ������ ������ �� �������� �� ����� ���������.
i ������������ ��������� ��������.
r ����� ��������� �����, ��� ��� ����. �������� �� ��������� ������ ������� �� �����������.
�� ���������, ���� �� ���� ������� �� ���� �����, ������� ����������� � ��������� ��������� (����� H).
�� ����������� ���� ������� ���������� � ��������� � ���� ��������� (����� h � g). ������� � ������ ��������
�� �����������.
����� :0 � ��������� ����� ����� ��������� ������ :. ���� ��� � ����, �� ��� ���������
�� ��, ��� ���� ����������, ���� ������ ���� �������� ���������, ������ ���� ���������� �� ��������� ��������,
����� ��� �������� ������������ ����� � ���� ����. ����� ������� ����, ������� ����� ����������� � ��������
������������.
����� ���� �������, �� ������ � ������, � ����� ������ �������� ������ *. ������� ������ ������������ �
���� ���������� ��������� ��� ����, ����� ���������� ������������������ �������� �
��������� ��� ���� ���������. ���������� ��������� ����� ������ ���������� ��������� �������:
^ ������ ������.
$ ����� ������.
. ����� ������, �� ����������� ������� �������� �������.
* ���� ��� ����� ���.
+ ���� ��� ����� ���.
? ���� ��� ����� ���.
[a-z] �������� ��������, � ���� ������ �� a �� z.
[^a-z] ����� ������ ��� ��������� �� a �� z.
a|b ��� 'a' ��� 'b'
����� ������� ���� ���� �������. ���� ������ ������ ������� �������� ����� �� ����������� ����, �� ��������������
������ ���������:
! ��������� ���������������� �� ��� ��������� �������� ������.
| ���� ����� ����� ������� ������� ����������� ����, �� �� ����������� ������ ���, ����� �����������
�������. ���� ����� ����� ������� ������ �� �����, �� ���� ����� ��������� ������������ �� ����������� �����.
���� �� | ������� ����������, �� ��������� ��������� ������� ����������� � ��� ����������.
������ �������� (mailing lists)
���������� ����� ������ - ��� �� ��������, ����� procmail ����� ���� ����� �������. �����������, ��� ��
��������� �� ��� ������ �������� �� ������, � ������ ������ ���������������� �� ������ �����������, ��������
� ��� ����� ���� ��������� ������
[email protected]
[email protected]
[email protected]
��� ������� �������� ��������� �� ���� ������� �������� ����� ��������� ������, �� ���� � ��� �� ��������
����, � ���� ������ �� ����� �����������, ��� ��������� �������������. ���� �� ������� �����, ���� �� �����������
����� ������������� � ����������� � ��������������� ������.
Procmail ������ ��� �������� ������. �� ����� ������������ ���� .procmailrc �� ���������� �����
�������� ��������� ���������� ����� ����� �� ��������� ������� �������� �� ������:
:0
* ^From.*[email protected]
l-linux
:0
* ^From.*[email protected]
linux-mx
:0
* ^From.*[email protected]
linux-security
����������� ��������� ���� �� ���� ������. ���� �� ������� ���������� ������� ������ ������-���� �������,
�� ����� ����� ������ ���������, ��������� �������� �������� �������� �������.
� ������ ��������� ������ :0, ������� ���������� ������ ������ �������. ������ ����� �� �������, �������
��� ����� ������� procmail ����� ����� �� ���������: ������� � ������ �������� �� �����������, ������� �����������
������ � ��������� �����, ������� ������������ � ��������� � ���� ���������.
� ��������� ������ ��������� �������, �������, ��������� ��� ����������� ������, ������
������������, ��� ��� ������ ����� ������ *. ������� �������� ��������� ����������
����������:
^From.*[email protected]
��������� ^From ��������� procmail �� ��, ��� ���������� ������ ��� ������ ������ �� ����������
From.
��������� ������ .* �������� ����� ���������� ��������. ����� �� ��������, ��� � ����������
��������� ������ "." ������������� ������ �������, � * ���������� ���� ��� ������. �������������
.* ��������, ��� ����� ���������� From ����� ���� ���� ��� ����� ��������.
������ ���� ������ [email protected], ������� �������� �������, � �������� ������ ���������.
������� ������� ��� ���� ���������� ����������, �� �������, ��� ��� ������� "��������" ��������� ������:
From: [email protected]
From:[email protected]
FROM [email protected]
��������� ��� �������, ��� ����� ��������� ���������, ���������� � ����� ������ � ���������. ��� �� ������
����� ������� � ����������?.
��������� ������� �������� ������� (��� ��������) � ��� ���������, ��� ������ � ����������. � ���� ������
�������������� ��������� ��� � ����� linux-mx. ���� ���������� ���� � ����� �� ������, �� ���������
�����������, ��� �� ����������� � ���������� ��������� $MAILDIR.
��������, ��������� ���������� �� ��������� ������� ������ ����� ������������ �� ��������� ������, �
����������� �� ������ ����������� (���� From).
�������������� �����
������ ���������, � ������� procmail ����� �����������, �������� �������������. ����� ����� ������, ��������,
���� �� ������ ������������� ��������� ��� ��������� ���� PGP ������, ������������ ��� �� E-Mail
����� ��� �������, �������� �������, ������� ������� �������� ������ ����� PGP ����� ��������, � ������
subject �������� ���� ������ PGP. ��� ������� ����� �������� ���:
0:
* ^Subject.*PGP
| (formail -r ; cat $HOME/key.asc) | sendmail -t
�� �� ����� ���� ������������ ��� ��������� ������� ���������, ������� �������� ����� � ���, ��� �� � �������
� ������� �� �� �������� ��������� �� �����������:
0:
| (formail -r; cat $HOME/vacations.txt) | sendmail -t
� ��������� ������ ������� ���, ��� ��� �� ��� ��������� ����� ���������� ���� � �� �� ������.
��� �������� ������������ �������������
� ���������� �������� �� ���� ������� ��������� ���������� ������������, ������� ������ ���������, ���� �����
���������� �������������.
���� � ��������� ������� ����������� �������� ��� ����������� E-Mail �����, � ��������� ������ ��������
�� ���� �����, �� ����� �������� � ��� ��. �� ��� ��������� ������� ��� ���� ����� � ��� ����� �� �������������.
����� ����� ��������, ��� ������ �� ��������� ����� �������� �������������� ������ � ���������, ����� �������,
��� �� ��� ��������� ��� ��������. ������������ ����� -A formail:
formail -r -A"X-Loop: [email protected]"
����� [email protected] ����� ����� ����������� E-Mail �������. � ���� ������ ��� �������� ���������
������ ����������� ������ X-Loop � ���, ����� ������� ����� ���� ��������� ����� ��������:
:0
* !^X-Loop: [email protected]
| (formail -r -A"X-Loop: [email protected]" ;
cat $HOME/vacation.txt) | sendmail -t
��� ������� ������������� ������������, ��� ��� ����� ��������, ���������� � ��������� ������ X-Loop
�� ����� ������������� ��������, � � ���������� procmail �� ���� �� �������.
������������� ������
��� ����� ���������� �������� ������ .procmailrc ����� ���� ����������� ����������� �����, �������������
�������������� uuencode(1).
��� ������� ����� ������ ���:
:0 B
* ^begin 644 .*
{
MAILDIR=$HOME/files
:0
| uudecode
}
����� ���� ������ ������ B, ��� ������� ������� ������ ����������� ������ � ���� ���������.
���� ������� ������� ������, ������������ �� ������ "begin 644", �� ��� ��������, ��� ��� ������ �����,
��������������� uuencode(1), ������� ��������������� ���������� ��������� MAILDIR, ���
������������ ��������� ��������, �� ������� ��������� ��� ����������. � ����� ������� ��� �������� �� ������
��������� ����� ����������� � ������ ���������� �������� ��������. � ����� ������,
��� ����������, ����� ����������� ��������� ����������� � $HOME/files.
������ ���� �������, �����������, ������� ������ ���������� ��������� � ����� ��� �������������. ��������
���� ����� ��������� � $HOME/files.
����������
������� ������, ��� ����� ����� �������� �������� ����� � procmail ����� ����, ��� procmail
����������� ����� � ����� ������ ������� ���������� ����� ������ ����� �������
� �������. � �� ������������ �������������������� � ����������� ����������� �
���������, ������������ �� � ����� ������������, ��� ��� ����������� procmail ������������ ������� ������, ���
� ���� �������� � ���� ������� ����������.
|