热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何管理sendmail邮件队列

1、队列文件通常存放在/var/spool/mqueue下面,每个待发送的邮件由几个文件构成,例如,我们可以看到下面的目录文件列表:[root@mailmqueue]#lsdfRAA27175xfAAA00733xfBAA00819xfEAA32763xfXAA00706qfRAA27175xfAAA00784xfDA
1、队列文件通常存放在/var/spool/mqueue下面,每个待发送的邮件由几个文件构成,例如,我们可以看到下面的目录文件列表: [root@mail mqueue]# ls
dfRAA27175 xfAAA00733 xfBAA00819 xfEAA32763 xfXAA00706
qfRAA27175 xfAAA00784 xfDAA01360 xfFAA01616
文件名字总是由一个两字符的前缀加上一个随机数字。前缀有四钟:
df:邮件内容
qf:邮件头和一些控制信息
xf:一些临时文件
tf:qf文件的临时存储文件

2、可以通过看队列中的qf文件来确定当前队列信息,不过通常都可以用mailq程序来完成对队列状态的查询:
root@mail mqueue]# mailq
Mail Queue (1 request)
--Q-ID-- --Size-- -----Q-Time----- ------------Sender/Recipient----------- -
RAA27175 22429 Fri Feb 25 17:34
: deferred)
×××@×××.net
这表示队列中目前只有一封信,由zhangfl发出,[url=mailto:收信人是×××@×××.net]收信人是×××@×××.net]。

3、查看队列:
mailq
# 查看MTA队列的滞留情况(等价于sendmail -bp)
mailq -Ac # 查看MSP队列的滞留情况(等价于sendmail -bp -Ac)
强制送信:
/usr/sbin/sendmail -q -v
# 对MTA队列强制送信
/usr/sbin/sendmail -q -v -Ac
# 对MSP队列强制送信
注:如执行完以上命令后,队列中仍然还有很多邮件,这时需要多次执行以上命令,直到邮件发送完为止。
参数说明:
-q 立即处理队列的内容.
-v 显示进度详细信息
-Ac 读取MSP队列(默认是读取MTA队列)

4、sendmail接受到的信件在用户取走之前将暂时存储在/var/spool/mail目录下面,存储的方法非常简单,就是每个有待读邮件的用户一个文件:
[root@mail spool]# ls -l /var/spool/mail |more
total 19364
-rw-rw---- 1 anyi mail 7559035 Feb 28 22:04 anyi
-rw-rw---- 1 baixuan mail 514 Nov 7 01:32 baixuan
-rw-rw---- 1 cwc mail 515 Feb 28 08:35 cwc
如果一个用户有多封电子邮件,那么这些邮件就被简单地连接在一起构成一个大文件(所以你会看到非常巨大的邮件文件)。

5、如果你面对的是一个很庞大的邮件服务系统,有时会在某个邮件队列中拥塞太多的消息,你可能想把这个队列暂停并且在网络空闲的时候再发送,暂停一个邮件队列的办法非常简单,就是将/var/spool/mqueue目录移走:
killall sendmail
mv /var/spool/mqueue /var/spool/mqueue.stop
mkdir /var/spool/mqueue
sendmail Cbd
当网络空闲的时候,可以用-oQ参数立即处理拥塞的队列:
sendmail CoQ/var/spool/mqueue.stop Cq

6、设置邮件队列间隔
守护程序启动时 -q 标志的值确定 sendmail 守护程序处理邮件队列的时间间隔。
在 Red Hat 的预设条件中,在 /var/spool/mqueue 当中的信件会每隔 60 分钟由 Sendmail 尝试重新传送一次到目的地去!这个尝试的时间是可以改变的!可以利用 sendmail 的指令或者直接修改 /etc/sysconfig/sendmail 里面的 『QUEUE=时间』来修订!例如,如果你想要让 Sendmail 每隔 30 分钟就帮你尝试传送 /var/spool/mqueue 里面的未寄出的信件时,那么就将 /etc/sysconfig/sendmail 这个档案里面的『QUEUE=1h 』改成『QUEUE=30m 』即可! 
这些变化会在下一次系统重新启动时生效。如果您想让这些变化立刻生效,请停止并重新启动 sendmail 守护程序,指定新的 -q 标志值。更多相关信息,请参阅停止 sendmail 守护程序和启动 sendmail 守护程序。

7、在sendmail里如何控制邮箱大小
在 /etc/sendmail.cf 中设置 
找这个字段 ,把前面的注释“#”去掉,再把“0”修改为你想要控制的邮件大小,比如10M,这个文件中,是以字节为单位的。
# maximum message size 
#O MaxMessageSize=1000000

8、要察看邮件系统的状态,使用mailstats命令。

推荐阅读
  • 本文介绍了拍摄高质量Vlog所需的设备,包括索尼A7 III相机、蔡司镜头、罗德麦克风、单反稳定器、苹果手机及其配件、灯光设备等。此外,还探讨了后期制作所需的软件工具,如剪辑、特效和调色软件。无论你是业余爱好者还是专业创作者,选择合适的设备至关重要。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 探讨一个老旧 PHP MySQL 系统中,时间戳字段不定期出现异常值的问题及其可能原因。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 郑州大学在211高校中的地位与排名解析
    本文将详细解读郑州大学作为一所位于河南省的211和双一流B类高校,在全国211高校中的地位与排名,帮助高三学生更好地了解这所知名学府的实力与发展前景。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 电子元件封装库:三极管、MOS管及部分LDO(含3D模型)
    本资源汇集了常用的插件和贴片三极管、MOS管以及部分LDO的封装,涵盖TO和SOT系列。所有封装均配有高质量的3D模型,共计96种,满足日常设计需求。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 小红书提高MCN机构入驻门槛,需缴纳20万元保证金
    近期,小红书对MCN机构的入驻要求进行了调整,明确要求MCN机构在入驻时需缴纳20万元人民币的保证金。此举旨在进一步规范平台内容生态,确保社区的真实性和用户体验。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
author-avatar
张嘎777_282
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有