LinuxSir.cn,穿越时空的Linuxsir!

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

mutt 使用 getmail获取邮件,使用 maildrop 分发出现错误

[复制链接]
发表于 2011-4-16 11:25:40 | 显示全部楼层 |阅读模式
使用 getmail 获取 pop3 邮件时,提示如下错误
  1. Delivery error (command maildrop 5905
  2.   error (75, /usr/bin/maildrop: Unable to open mailbox.))
  3.   msg 1/1 (2206 bytes), delivery error (command maildrop 5905
  4.   error (75, /usr/bin/maildrop: Unable to open mailbox.))
  5.   1 messages (2206 bytes) retrieved, 0 skipped
复制代码

.mailfilter 权限是 600
  1. # 没有匹配过滤规则的,邮件保存位置,XXX 注意路径后面的斜扛
  2. DEFAULT = "$HOME/mail/inbox"
  3. # 可以在后面过滤路径中,使用 $MAILDIR 引用路径
  4. MAILDIR = "$HOME/mail"
  5. #DEFAULT=$MAILDIR/inbox
  6. logfile "$HOME/mail/log/maildroplog"
  7. REG_CASE = no
  8. # [ CPyUG 邮件列表 ]
  9. #--------------------------------------------
  10. if ((/^From:.*python-cn\@googlegroups\.com.*/) && (/^Subject: \[CPyUG\] .*/))
  11. {
  12.     to "$MAILDIR/cpyug/"
  13. }
复制代码

我的 mutt 设置的是
  1. set mbox_type=Maildir
  2. set folder=~/mail
  3. # 启动mutt后默认显示的信箱文件
  4. # spoolfile 从本地哪个目录来得到新 Email ,添加更多的 spoolfiles,如邮件列表所在的目录
  5. set spoolfile=+inbox
  6. # 已读信箱 [?]
  7. set mbox=+read
  8. # 已发送邮件
  9. set record=+sent
  10. # 草稿邮件
  11. set postponed=+drafts
  12. set header_cache=~/.hcache
  13. mailboxes +inbox +cpyug
复制代码

开始我把 .mailfilter 中的邮件保存路径写错了,使用的文件保存,结果把所有邮件
保存在一个文本文件。但是我 mutt 里面设置的是 set mbox_type=Maildir

还有就是 mutt 里面的  mailboxes 是自定义的邮件文件夹夹吗?
要在那个 inbox 文件夹下面的子文件夹吗?
  1. mail
  2. ├── cpyug
  3. ├── drafts
  4. ├── inbox
  5. ├── log
  6. │   ├── getmail.log
  7. │   └── maildroplog
  8. ├── read
  9. ├── send
  10. └── tmp
复制代码

谢谢各位 mutt 兄台指教!
 楼主| 发表于 2011-4-16 23:38:23 | 显示全部楼层
由于 我在 mutt 中使用的是 maildir 邮件格式。
要求每一个信箱都必须遵循 maildir 的目录结构定义

可以参考 [ 图文 ] Maildir和Mailbox 的区别
# From : http://www.niutian365.com/blog/article.asp?id=451

有详细的图文介绍。默认 maildrop 是不能自动创建 邮箱下面的 cur / tmp /new 子目录的

没有合法的目录结构,maildrop 无法将匹配过滤规则的邮件分发到指定的邮箱
下面是我改正后的 目录结构:


  1. ~/mail/
  2. cpyug
  3.     cur
  4.        1302967353.0.king,S=15005:2,S
  5.        1302967355.0.king,S=8485:2,S
  6.     new
  7.     tmp
  8. drafts
  9.     cur
  10.     new
  11.     tmp
  12. inbox
  13.     cur
  14.        1302933973.0101886_0.king,S=6007:2,S
  15.        1302967347.0V10187E_0.king,S=1457:2,
  16.     new
  17.     tmp
  18. log
  19.     getmail.log
  20.     maildroplog
  21.     msmtp.log
  22. read
  23. sent
  24.      cur
  25.         1302935252.7228_1.king:2,S
  26.         1302967661.14199_3.king:2,S
  27.      new
  28.      tmp
复制代码


之后就可以将过滤后的邮件,分发到指定的邮箱中的。

因为这个原因,也曾导致 草稿箱 drafts 无法在邮件编写完成后。存放到草稿箱中

只能错误的放到 sent。我在想为什么,sent 可以自动创建 maildir 目录结构

而 drafts 草稿箱却不能。maildrop 不能自动创建,还可以理解,草稿箱

是 mutt 控制的吧。一个可以创建,另一个不能创建。很无解?还请知道的兄台

指定一二?谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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