Gửi thư rác đến một thư mục đặc biệt bằng cách sử dụng postfix


9

Tôi có một máy chủ postfix chạy amavis và SpamAssassin để giúp lọc thư rác. Các thư được phát hiện là spam trông như thế này khi được gửi vào Maildir của người dùng:

Từ tom @ tom-mint Thứ Sáu, ngày 15 tháng 3, 01:46:20 2013
Đường dẫn trở lại: <tom @ tom-mint>
X-Bản gốc-To: tom@my-server.com
Đã gửi-Đến: tom@my-server.com
Quét vi-rút X: Debian amavribution-new tại my-server.com
X-Spam-Flag: CÓ
X-Spam-Điểm: 6.463
Cấp độ thư rác X: ******
X-Spam-Status: Có, điểm = 6.463 được gắn thẻ_above = 2 bắt buộc = 6.31
    kiểm tra = [DRUGS_ERECTILE = 2.221, FH_FROMEML_NOTLD = 0.18,
    FSL_HELO_NON_FQDN_1 = 0,001, HELO_NO_DOMAIN = 0,001, RCVD_IN_PBL = 3.558,
    RDNS_DYNAMIC = 0.363, TO_NO_BRKTS_DYNIP = 0.139] autolearn = không
Ngày: Thứ Sáu, ngày 15 tháng 3 năm 2013 01:46:19 -0400
Tới: tom@my-server.com
Chủ đề: *** SPAM *** xin chào
Tác nhân người dùng: Gia truyền mailx 12.5 6/20/10
Loại nội dung: văn bản / thuần túy; bộ ký tự = us-ascii
Từ: tom @ tom-bạc hà (Tom)
Tình trạng: RO

mua một số viagra!

Lưu ý cụ thể chủ đề, được thêm vào trước ***SPAM***X-Spam-Flag: YEStiêu đề.

Cách tốt nhất để cấu hình postfixđể lưu trữ các tin nhắn này trong một thư mục rác đặc biệt là gì?

Từ nghiên cứu của tôi, có vẻ như tôi sẽ cần sử dụng một công cụ gửi thư khác với postfix để thực hiện điều này, nhưng tôi không chắc cách tiếp cận nào là tốt nhất. Dường như có rất nhiều thông tin ngày, và tôi tự hỏi liệu postfix có khả năng đặt tin nhắn vào một thư mục hay không.

Các thư mục thư là tất cả Maildir.


Có vẻ như có thể cần phải sử dụng một cái gì đó như maildrop . Tôi vẫn đang tìm cách để làm điều này với MDA mặc định của Postfix để tôi có thể giữ bí danh và các tính năng postfix khác với sự cố tối thiểu. Tôi sẽ đăng câu trả lời của tôi khi tôi đưa ra nó.
Tom Marthenal

Câu trả lời:


8

Trang cá nhân của đại lý phân phối địa phương của postfix (8) cho thấy không có gợi ý nào về loại khả năng này - như mong đợi. Loại nhiệm vụ này thường được giảm tải cho procmail (có thể thông qua chỉ thị hộp thư_command) có thể xử lý công việc bạn mô tả trong khi quản lý bồn rửa nhà bếp của bạn ở bên cạnh. Nhược điểm của procmail là định dạng tệp cấu hình, mặt trái của tính linh hoạt và hàng tấn ví dụ dễ tìm thấy. Nếu bất cứ điều gì tốt hơn procmail đã xuất hiện gần đây, tôi biết không.

Tuy nhiên, đối với tiền của tôi, ngay cả khi tôi tìm được cách để MTA thực hiện những gì bạn muốn, tôi sẽ không đi theo con đường đó, bởi vì những thứ sắp xếp thư này có cách thức cân bằng và không có MTA (mà tôi biết: có lẽ trao đổi, ai biết) có thể làm tốt công việc trong việc trở thành một người xử lý tin nhắn / đại lý chuyển phát linh hoạt.

Đây là một công thức procmail sẽ thực hiện những gì bạn muốn dựa trên nội dung tiêu đề duy nhất (trong đó DEFAULT là thư mục phân phối, thường là một cái gì đó như $ HOME / Mail /):

:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/

Chỉnh sửa: (Điều này giả định định dạng hộp thư maildir, như được ghi chú trong một bình luận bên dưới. Bỏ qua dấu gạch chéo cuối cùng nếu sử dụng mbox)


$DEFAULT/không cần thiết. Hữu ích cho khả năng đọc của con người. Cũng lưu ý rằng việc thêm dấu gạch chéo ở cuối sẽ tạo ra một Maildir, nếu sử dụng Mbox thì bỏ qua dấu gạch chéo (xem: unix.stackexchange.com/a/132658/241394 ).
Jari Turkia

5

Như Alien Life Form đã nói, đây là một công việc dành cho procmail. Đó không phải là sự thay thế cho đại lý chuyển phát cục bộ của máy chủ thư; đó là một quy trình riêng biệt sẽ được gọi sau khi MDA hoàn thành công việc.

Mỗi người dùng muốn có procmail sắp xếp thư của họ sẽ cần phải tạo một tệp được gọi .forwardtrong thư mục chính của họ. Tập tin đó nên chứa những điều sau đây:

"|exec /usr/local/bin/procmail || exit 75"

hoàn thành với các "dấu hiệu và tất cả.

ALF đã đăng một .procmailtệp cơ bản sẽ sắp xếp thư được gắn thẻ spam vào một thư mục riêng.


1
Xin lưu ý rằng trong một số trường hợp, procmail sống tại / usr / bin / procmail, để tìm ra vị trí của nó trên hệ thống của bạnwhich procmail
Malfist

4

Đại lý chuyển phát thư của bạn là gì (xem main.cf hộp thư_command)? Nếu MDA là dovecot, nó hỗ trợ tiêu chuẩn Sàng IETF (rfc5228), có thể làm được nhiều hơn so với procmail mà không để lộ các lỗ hổng bảo mật có thể. KHÔNG bu lông trên procmail để postfix / dovecot, sàng được tích hợp đầy đủ. Nếu bạn đang sử dụng Chuyển phát nhanh, thì procmail là một giải pháp ổn. Tuy nhiên, bạn sẽ thấy các chương trình sàng / sievec từ Pigeonhole nhanh hơn và sạch hơn.

Sau đây là một kịch bản sàng đơn giản để nhận ra tiêu đề thư rác của bạn và đặt thư vào tệp Thùng rác.

require "fileinto";

if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  
{
  fileinto "Trash";
  stop;
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.