LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1257|回复: 10

Debian 4.0本地系统无法收邮件,请教大牛如何解决?

[复制链接]
发表于 2007-10-26 10:51:17 | 显示全部楼层 |阅读模式
系统环境:

  1. debian:~# hostname;uname -a;netstat -tlunp|grep '25'
  2. debian
  3. Linux debian 2.6.18-aier #1 SMP Thu Oct 11 17:05:48 CST 2007 i686 GNU/Linux
  4. tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     2450/exim4
复制代码


# 与其他的发行版有些不同,RH是sendmail
Daemon状态:

  1. debian:~# /etc/init.d/exim4 status
  2. checking separate queue runner daemon...done (not running).
  3. checking combined SMTP listener and queue runner daemon...done (running).
复制代码


# 有一个not running,不晓得是否要启用;

发一封信:

  1. debian:~# mail root -s hello
  2. hello ,big Boss,test my server
  3. Cc:
复制代码


收信:

  1. debian:~# mail
  2. No mail for root
  3. debian:~# mailq
  4. debian:~#
复制代码


# 如上,没有信,队例里也没有,不知如何解决,谢谢了
发表于 2007-10-26 12:50:05 | 显示全部楼层
你有没有配置exim4?重新配置下看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-26 13:57:49 | 显示全部楼层
Post by favoyun
你有没有配置exim4?重新配置下看看。


favoyun兄?本机收件也需要配置吗?以前用RH默认情况下只要sendmail启动,本机就可以收件了。

BTW,我只是想用logwatch,但debian下exim4似乎还需要额外配置的
回复 支持 反对

使用道具 举报

发表于 2007-10-26 19:01:37 | 显示全部楼层
执行exim4 -bt root@localhost 看看什么结果,贴一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-29 09:28:52 | 显示全部楼层
Post by colorlinux
执行exim4 -bt root@localhost 看看什么结果,贴一下。


谢谢colorlinux兄,不好意思,刚上班才看到

如果如下:

  1. debian:~# exim4 -bt root@localhost
  2. R: system_aliases for root@localhost
  3. R: system_aliases for tmeng@debian
  4. R: userforward for tmeng@debian
  5. R: procmail for tmeng@debian
  6. R: maildrop for tmeng@debian
  7. R: local_user for tmeng@debian
  8. tmeng@debian
  9.     <-- root@localhost
  10.   router = local_user, transport = mail_spool
复制代码


另外,怪得很,所有发给root的邮件,却只有tmeng用户能收,是不是因为上面的:

  1. R: system_aliases for tmeng@debian
复制代码


再次谢谢!
回复 支持 反对

使用道具 举报

发表于 2007-10-29 14:55:36 | 显示全部楼层
你把/etc/aliases 里面的一个mail aliases 删除,应该是 root: tmeng
然后在用exim4 -bt root@localhost 看看结果。
如果正常的话,应该是
  1. R: system_aliases for root@localhost
  2. R: userforward for root@localhost
  3. R: procmail for root@localhost
  4. R: maildrop for root@localhost
  5. R: mail4root for root@localhost
  6. root@localhost -> /var/mail/mail
  7.   transport = address_file
复制代码
是会发到/var/mail/mail里面去,如果还不正常,可以看一下exim的日志和用mailq看邮件队列。看看有没有冻结的信。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-29 15:52:33 | 显示全部楼层
Post by colorlinux
你把/etc/aliases 里面的一个mail aliases 删除,应该是 root: tmeng
然后在用exim4 -bt root@localhost 看看结果。
如果正常的话,应该是

  1. R: system_aliases for root@localhost
  2. R: userforward for root@localhost
  3. R: procmail for root@localhost
  4. R: maildrop for root@localhost
  5. R: mail4root for root@localhost
  6. root@localhost -> /var/mail/mail
  7.   transport = address_file
复制代码

是会发到/var/mail/mail里面去,如果还不正常,可以看一下exim的日志和用mailq看邮件队列。看看有没有冻结的信。


谢谢colorlinux兄,我的/etc/aliases如下所示:

  1. debian:/var/mail# cat /etc/aliases
  2. # /etc/aliases
  3. mailer-daemon: postmaster
  4. postmaster: root
  5. nobody: root
  6. hostmaster: root
  7. usenet: root
  8. news: root
  9. webmaster: root
  10. www: root
  11. ftp: root
  12. abuse: root
  13. noc: root
  14. security: root
  15. #root: tmeng
复制代码


我将root: tmeng注释了,然后使用root发信给root,可以看到在/var/mail/mail里已经有信了,mailq查询没有冻结的信,但是用mail查看,还是没有,如图:

  1. debian:/var/mail# mail
  2. No mail for root
复制代码


谢谢您的指教
回复 支持 反对

使用道具 举报

发表于 2007-10-29 20:54:18 | 显示全部楼层
你看看MAIL这个环境变量的值是什么,应该是/var/mail/root
mail命令会检查这个环境变量指向的信箱,所以看不到。你可以设置MAIL成/var/mail/mail
就能看到了。

修改alias或者$MAIL 应该都没必要,你要看root的信,直接去/var/spool/mail/tmeng 就能看到.
mutt -f /var/spool/mail/tmeng
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-30 09:52:00 | 显示全部楼层
谢谢colorlinux兄,确实如你所说的$MAIL为/var/mail/root

算了,不去弄了,也许debian的默认设置就是这样,(BTW,安装时不是非得建一个账户吗,tmeng就是那时建的)

再次谢谢您,让我学会如何有条理地解决问题,谢谢!
回复 支持 反对

使用道具 举报

发表于 2007-10-30 11:41:07 | 显示全部楼层
好像在debian 的策略这个文章里面说到了邮件的问题。如果有普通用户会发给普通用户,如果没有,应该就是发给root了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表