HƯỚNG DẪN Clear/Delete/Flush Mail Queue

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 13/12/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Làm thế nào tôi có thể xóa vĩnh viễn tất cả các tin nhắn e-mail trong hàng đợi máy chủ mail Sendmail (SMTP) sử dụng lệnh UNIX Linux?

    Bạn có thể sử dụng lệnh mailq hoặc lệnh sendmail -bp để hiển thị một bản tóm tắt của các tin nhắn mail đang đợi chờ để chuyển tiếp trong tương lai. Gõ lệnh sau đây:
    Mã:
    mailq
    Hoặc là:
    Mã:
    sendmail -bp
    Ví dụ kết quả đầu ra:
    Mã:
    /var/spool/mqueue (1 request)
    -----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
    p61J75u5037681  893 Fri Jul  1 14:07
      8BITMIME  (Deferred: Connection timed out with example.com.)
    
      Total requests: 1
    
    Bạn điều hướng đến /var/spool/mqueue và xóa tất cả các tập tin nếu bạn muốn loại bỏ tất cả tin nhắn trong hàng đợi:
    Mã:
    cd /var/spool/mqueue/
    ls
    rm *
    
    Công cụ qtool.pl
    Mail server Sendmail không cung cấp bất kỳ lệnh để loại bỏ các tin nhắn từ hàng đợi mail. Các câu lệnh giới thiệu ở trên sẽ xóa tất cả thư từ hàng đợi mail. Ngoài ra bạn có thể sử dụng qtool.pl script nằm trong thư mục contrib mã nguồn sendmail như sau:
    Mã:
    mailq
    Ví dụ kết quả đầu ra:
    Mã:
    /var/spool/mqueue (1 request)
    -----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
    p61J75u5037681  893 Fri Jul  1 14:07
      8BITMIME  (Deferred: Connection timed out with example.com.)
    
      Total requests: 1
    
    Lưu ý cột Q-ID với giá trị p61J75u5037681 và chạy qtool.pl như sau:
    Mã:
     ./qtool.pl -C /etc/mail/sendmail.cf -d /var/spool/mqueue/p61J75u5037681 
    Giải thích:
    -C /etc/mail/sendmail.cf - Xác định tập tin cấu hình sendmail.
    -d /var/spool/mqueue/p61J75u5037681 - Xóa các tin nhắn đã xác định nguồn. Trong trường hợp được qui định bởi Q-ID.
    Để xóa tất cả tin nhắn trong hàng đợi cho tên miền example.com. Trước tiên, bạn cần phải thiết lập QIDS hoặc bằng cách sử dụng lệnh mailq hoặc thủ công như sau:
    Mã:
     QIDS="qid1 qid2 qidN" 
    Hoặc là:
    Mã:
     QIDS="$(mailq | grep -B1 'example.com' | grep '^[a-z]'  | awk  '{print $1}' | sed  's/\*$//')" 
    Sử dụng bash sau cho vòng lặp để xóa tất cả tin nhắn cho example.com:
    Mã:
    for q in $QIDS
    do
      /usr/local/bin/qtool.pl -C /etc/mail/sendmail.cf -d /var/spool/mqueue/$q
    done
    
     

Chia sẻ trang này

Đang tải...