sendmail是用来发邮件的,之前小松很多文章里都有提到过,今天这篇文件讲sendmail的知识点可能你不一定留意到
①使用sendmail命令发的邮件默认保存在/var/spool/mqueue目录下
②邮件消息可能由于很多原因而排入队列,如果一个远程主机不响应一个邮件连接的请求,邮件系统会将这些消息排入队列,稍后再作尝试,也就是按一定的时间间隔处理队列,而不是立即处理
③邮件队列内容可以使用 mailq 命令打印针对上面提到的几点我们用实验来证明
我们来设置邮件每30秒处理一下邮件队列,这里我们就可以看到,邮件默认保存的目录下面是否有邮件,然后有ll命令显示邮件文件,然后在看一下邮件是否定时在发设置邮件队列处理间隔
vi /etc/sysconfig/sendmail默认
QUEUE=1h也就是1小时
s | 秒 |
m | 分 |
h | 小时 |
d | 天 |
w | 周 |
我这里设置30秒
重启一下sendmail
service sendmail restart
我让邮件进入邮件队列,指定一个没有的收件箱
mail -s "test" -r admin@phpsong.net 4asfsdf@phpsong.com <content.txt
但是没有办法30秒之后发送成功,因为我的邮件地址是随便输入的
怎么判断邮件重新发送了呢?
cd /var/spool/mqueue/ ll
查文件创建时间是会有变动的
PS.错误的邮件地址sendmail会一直发
使用命令程序邮件队列
mailq
可以用下面的命令清空邮件队列
rm -f /var/spool/mqueue/*
QQ交流群:136351212
查看原文: