Theo dõi Postfix gửi thư đi


11

Tôi đang sử dụng GNU Mailman với Postfix để chạy danh sách gửi thư và muốn theo dõi việc gửi thư đi, nghĩa là: đối với mỗi thư được gửi từ danh sách, hãy kiểm tra xem tin nhắn 250 (OK) có được trả lời không và nếu không , báo cáo lại cho tôi.

Hiện tại, tôi đang làm nhanh và bẩn:

# cat /var/log/syslog | grep "smtp.*to=.*" | grep -v 250

Có cách nào sạch để giám sát đầu ra của smtpd không?


1
Chắc chắn đây phải là một công dụng vô dụngcat ? Ít nhất bạn có thể làmgrep "smtp.*to=.*" /var/log/syslog | grep -v 250
một CVn

Cá nhân tôi thấy rằng cuộc thập tự chinh có một chút mô phạm trong hầu hết các bối cảnh và thích định dạng mô-đun, dễ đọc hơn của OP
jchook

Câu trả lời:


8

Không có cách nào để theo dõi các thư được gửi một cách sạch sẽ. Bạn chỉ có thể grep các chi tiết từ maillog của postfix.

Đây là một ví dụ:

log='logfile of postfix'
grep "status=sent" $log | \
egrep -ve 'postfix/(cleanup|pickup|master|qmgr|smtpd|local|pipe)'

Và cũng tránh các bản ghi cho dkimvv Nếu bạn cần số lượng thư thì đường ống wc -lở cuối.


3

Làm thế nào về:

multitail -eX "smtp.*to=<(.*)>.*sent.*250" './bin/received' -f /var/log/maillog

./bin/receaken là một tập lệnh shell lấy địa chỉ email đích làm tham số và thực hiện điều gì đó với nó.



0

Tôi đang xem ai gửi email thông qua máy chủ của tôi với điều này:

tail -f /var/log/mail.log | grep 'sasl'

Nó cho biết ai là người dùng được xác thực đang gửi.

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.