如何根据目标地址从mqueue中删除电子邮件。需要删除发送到"4239038497@txt.att.net“的延迟消息
由于一个没完没了的循环(这已经找到和纠正),我有大量的电子邮件推迟或请求重试在var/spool/mqueue。需要尽快清除这些信息,因为回弹消息每20分钟就会填充我的var/log文件夹空间1G。
在que中也有合法的电子邮件,所以不能只是空var/spool/mqueue。如何过滤到我正在寻找的结果?我需要先停止sendmail吗?
df -h在mqueue中显示/dev/sda2文件系统100%由于var/log而使用的结果
root@tsunami12:/var/log# df -h
Filesystem Size Used Avail Use% Mounted on
udev 32G 0 32G 0% /dev
tmpfs 6.3G 650M 5.7G 11% /run
/dev/sda2 28G 28G 0G 100% /
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sda4 2.1T 986G 1013G 50% /home
tmpfs 6.3G 0 6.3G 0% /run/user/1000
tmpfs 6.3G 0 6.3G 0% /run/user/1002
tmpfs 6.3G 0 6.3G 0% /run/user/1003ls -lh in mqueue的结果
root@tsunami12:/var/spool/mqueue#
ls -lh
-rw-r----- 1 smmta smmsp 0 Mar 17 2020 df02H2TsFs012156
-rw-r----- 1 root smmsp 2.8K Apr 14 10:17 df33EDseEV018975
-rw-r----- 1 root smmsp 3.6K Apr 14 10:12 df33EECwjo001842
-rw-r----- 1 root smmsp 2.3K Apr 14 10:43 df33EEhHEt023903
-rw-r----- 1 root smmsp 2.3K Apr 14 10:45 df33EEj5ai025020mailq命令的结果
33J38Htu005703 3623 Tue Apr 18 23:08 <answerserv@callactionair.com>
(Deferred)
<4239038497@txt.att.net>
<4238837942@vtext.com>
<4236679922@vtext.com>
<4236679911@vtext.com>
<4233947202@vtext.com>
33J382mj005213 3623 Tue Apr 18 23:08 <answerserv@callactionair.com>
(Deferred)
<4239038497@txt.att.net>
<4238837942@vtext.com>
<4236679922@vtext.com>
<4236679911@vtext.com>
<4233947202@vtext.com>root@ tail 12:/var/log#tail mail.log命令的结果
Apr 19 15:54:56 tsunami12 sm-mta[22495]: 33INJGL5000565: to=<4233947202@vtext.com>,<4236679911@vtext.com>,<4236679922@vtext.com>,<4238837942@vtext.com>, delay=20:35:40, xdelay=00:00:00, mailer=esmtp, pri=10924132, relay=smtpin01.vzw.a.cloudfilter.net., dsn=4.0.0, stat=Deferred: Connection reset by smtpin01.vzw.a.cloudfilter.net.
Apr 19 15:54:56 tsunami12 sm-mta[15318]: 33J0R2EH028306: to=<4236455765@txt.att.net>,<4239038497@txt.att.net>, delay=19:27:53, xdelay=00:00:00, mailer=esmtp, pri=10655014, relay=att-e2xms-west.mx.a.cloudfilter.net., dsn=4.0.0, stat=Deferred: Connection reset by att-e2xms-west.mx.a.cloudfilter.net.
Apr 19 15:54:56 tsunami12 sm-mta[15318]: 33J0R2EH028306: to=<4237628227@pm.sprint.com>, delay=19:27:53, xdelay=00:00:00, mailer=esmtp, pri=10655014, relay=tmo-east.mx.a.cloudfilter.net., dsn=4.0.0, stat=Deferred: Connection reset by tmo-east.mx.a.cloudfilter.net.
Apr 19 15:54:56 tsunami12 sm-mta[15318]: 33J0R2EH028306: to=<4233947202@vtext.com>,<4236679911@vtext.com>,<4236679922@vtext.com>,<4238837942@vtext.com>, delay=19:27:53, xdelay=00:00:00, mailer=esmtp, pri=10655014, relay=smtpin01.vzw.a.cloudfilter.net., dsn=4.0.0, stat=Deferred: Connection reset by smtpin01.vzw.a.cloudfilter.net.发布于 2023-04-24 15:04:35
从内存中,我记得有df*文件和相应的qf*文件,但是由于这里不运行sendmail,所以不能保证这一点。您应该发现一种可接受的方法是从/var/spool/mqueue中删除包含文本4239038497@txt.att.net的文件。不是完美,而是非常接近。
cd /var/spool/mqueue
mkdir /var/spool/mq.rm
mv $(grep -l '4239038497@txt.att.net' *) ../mq.rm现在,您应该在目录/var/spool/mq.rm中有一个大大缩短的邮件队列和等待删除的消息。
之前进行彻底的测试。
https://unix.stackexchange.com/questions/743462
复制相似问题