Nhận nhật ký của thư được gửi bằng thư () từ PHP (sendmail?)


13

Sau khi một số máy chủ thay đổi, cấu hình PHP của chúng tôi đã bị loại bỏ, điều này khiến danh sách gửi thư lớn của khách hàng hết thời gian một phần thông qua khoảng 4.000 địa chỉ trở lên. Chúng tôi muốn tránh gửi thư trùng lặp càng nhiều càng tốt và chúng tôi có danh sách gửi thư gốc.

Thư được gửi bằng mail()chức năng của PHP , sử dụng sendmail, cho biết nó đang sử dụng Exim. Tôi đã thấy lệnh:

sendmail -bp

Cung cấp cho tôi một danh sách các thư xuất hiện đã được gửi. Danh sách này không quá lớn và có thể chính xác (có nghĩa là tập lệnh đã hết thời gian sau khi chỉ gửi một trăm email)

sendmail -bpcách tốt nhất để có được danh sách này?

EDIT: Tôi không thể tìm thấy bất kỳ mail.logtập tin nào trong /var/log/mail.loghoặc thông qua locate mail.log, nhưng WHM dường như có một số thông tin về điều này.


Điều gì về / var / log / maillog?
Antoine Benkemoun

Câu trả lời:


10

Trên các hệ thống dựa trên Debian exim ghi dữ liệu vào /var/log/exim4/mainlog.

Bạn có thể thấy công cụ eximstats hữu ích cho việc phân tích cú pháp và loại bỏ thông tin hữu ích ra khỏi tệp nhật ký đó.


1
Trong centos, và có lẽ là RHEL / fedora, đó là trong / var / log / exim_mainlog
yitwail

6

sendmail -bp(và mailq) chỉ liệt kê hàng đợi thư: thư được xếp hàng nhưng chưa được gửi. Nó sẽ không bao gồm những tin nhắn đã được gửi thành công.

Bạn nên kiểm tra /var/log/mail.log(và các logfile khác) - hầu như chúng luôn có hồ sơ của mỗi lần chuyển.


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.