千万个美丽的未来,抵不上一个温暖的现在,每一个真实的现在,都是我们曾经幻想的未来!
Jun
14
/var/spool/clientmqueue目录,如果系统中有用户开启了cron,而cron中执行的程序又有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。
如果你确定你的系统没有启动sendmail对外发送邮件,你就可以把这个目录给清空,释放磁盘空间,可能你发现这个问题的时候该目录已经存在大量的文件了,执行 rm -f * 删除的时候就会提示:"-bash: /bin/rm: Argument list too long" 无法删除,这时候你可以试试使用:ls | xargs rm -f 或 find /var/spool/clientmqueue/ -type f -exec rm {} \; 来删除这些文件。
解决方法:在你的crontab执行命令的后面加上 >/dev/null 2>&1 ,丢弃计划任务执行时产生的错误或输出的内容。
如果你确定你的系统没有启动sendmail对外发送邮件,你就可以把这个目录给清空,释放磁盘空间,可能你发现这个问题的时候该目录已经存在大量的文件了,执行 rm -f * 删除的时候就会提示:"-bash: /bin/rm: Argument list too long" 无法删除,这时候你可以试试使用:ls | xargs rm -f 或 find /var/spool/clientmqueue/ -type f -exec rm {} \; 来删除这些文件。
解决方法:在你的crontab执行命令的后面加上 >/dev/null 2>&1 ,丢弃计划任务执行时产生的错误或输出的内容。
Jun
19
一、需求: 将现成的eml格式的邮件在linux下批量发送。
二、步骤:
1. 复制eml格式文件到某个目录,如/root/waitsend
2. 将所有邮件进行处理,去除传输过程中添加的记录,只剩余原始的邮件正文,以下是实现这个功能脚本:
#!/bin/bash
cd $1
for filename in `ls`
do
sed /From:/ioooooooo $filename > $filename".bak"
sed -e /Received:/,/oooooooo/d $filename".bak" > $filename
rm -rf $filename".bak"
done
用法:./editmail.sh /root/waitsend
3. 将eml文件中内容逐个发送给用户,脚本如下:
#!/bin/bash
cd $2
for filename in `ls`
do
echo "sending mail from: "$filename"..."
sendmail $1 < $filename
done
用法:./sendmail.sh /root/waitsend
二、步骤:
1. 复制eml格式文件到某个目录,如/root/waitsend
2. 将所有邮件进行处理,去除传输过程中添加的记录,只剩余原始的邮件正文,以下是实现这个功能脚本:
#!/bin/bash
cd $1
for filename in `ls`
do
sed /From:/ioooooooo $filename > $filename".bak"
sed -e /Received:/,/oooooooo/d $filename".bak" > $filename
rm -rf $filename".bak"
done
用法:./editmail.sh /root/waitsend
3. 将eml文件中内容逐个发送给用户,脚本如下:
#!/bin/bash
cd $2
for filename in `ls`
do
echo "sending mail from: "$filename"..."
sendmail $1 < $filename
done
用法:./sendmail.sh /root/waitsend