1、/var/spool/clientmqueue 爆满问题

当你使用简单的sendmail发邮件的时候,或者系统默认要发一些邮件(比如cron发的邮件)的时候,首先会把邮件拷贝到这个目录里,然后等待MTA(mail transfer agent) 来处理,MTA做的事情通常是把这个目录中的邮件弄到/var/spool/mqueue里,然后再发送到真正的目的地。出现/var/spool/clientmqueue/非常大的情况通常因为没有合适的MTA发送邮件,就都积累在这里了,假如这里的邮件并不是你需要的,比如是系统默认发的每分钟跑一次的什么什么cron的信,你可以简单的删掉他们。当然,文件多了一些,直接rm -f *,系统可能会说argument too long什么的,没有关系,find /var/spool/clientmqueue/ -type f –delete或者find /var/spool/clientmqueue/ -type f -exec rm {} \+可能对你有帮助,当然这两条命令要求find的版本比较新。如果不幸你的版本比较低,可以尝试find /var/spool/clientmqueue/ -type f -exec rm {} \;


2、can not chdir(/var/spool/clientmqueue/): Permission denied

错误报警:

143822405.png

而对/var/spool/clientmqueue查看权限:


[root@xx_xx_xx_xx mail]# ll /var/spool/

total 72

drwxr-xr-x 2 root   root   4096 Jul  3  2010 anacron

drwx------ 3 daemon daemon 4096 Jul  3  2010 at

drwxrwx--- 2 smmsp  smmsp  4096 Nov 26 14:34 clientmqueue

drwxr-x--- 2 root   mail   4096 Nov 26 14:34 mqueue



检查下来,clientmqueuemqueue目录的权限都没问题,然后检查sendmail的权限问题



[root@xx_xx_xx_xx mail]# ll /usr/sbin/sendmail

lrwxrwxrwx 1 mhfs root 21 Jul  3  2010 /usr/sbin/sendmail -> /etc/alternatives/mta

[root@xx_xx_xx_xx mail]# ll /etc/alternatives/mta

lrwxrwxrwx 1 root root 27 Jul  3  2010 /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail

[root@xx_xx_xx_xx mail]# ll /usr/sbin/sendmail.sendmail

-rwxr-xr-x 1 root root 806460 Nov 28  2006 /usr/sbin/sendmail.sendmail



/usr/sbin/sendmail.sendmail权限不正确,进行如下修改:



   chown root.smmsp /usr/sbin/sendmail.sendmail

chmod g+s /usr/sbin/sendmail.sendmail

/etc/init.d/sendmail stop

/etc/init.d/sendmail start



再尝试发邮件,搞定。


3、My unqualified host name (c1) unknown; sleeping for retry

/var/log/maillog
启动sendmail服务时,长时间无法启动,而且mail日志会有如下输出:

143823765.png

由于你没有用到域名,所以/etc/mail/sendmail.cf中“Dj$w.hpaps”  这一行应该注释掉,否则系统sendmail时会把hpaps 作为域名加到主机名后组成完整的长名 hpaps.hpaps来访问,系统当然就会报“unable to qualify my own domain name (hpaps)” ,因为此时根据你的配置,hpaps还是你的域名,系统肯定找不到

Dj$w就是为了没有域名的时候,在Dj$w.后面加上自己的域名用的!
所以,若不用FQDN域名(一般用/etc/hosts)做名字解析的时候,要把这行的注释去掉!


同时发邮件时出现DSN:Service unavailable报警:

143822330.png

解决办法如下二种:

  (1)、修改/etc/hosts:


192.168.166.67  192_168_166_67.localdomain 192_168_166_67


            并且修改/etc/resolv.conf,注释掉search localdomain

   (2)、修改/etc/resolv.conf,指定搜索的域名:search localdomain,而/etc/hosts配置文件中无需添加具体解析。


操作完成后重启sendmail,即可正常发送邮件。

143823188.png160612524.png