AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 820331
Accepted
jviotti
jviotti
Asked: 2016-12-13 15:58:26 +0800 CST2016-12-13 15:58:26 +0800 CST 2016-12-13 15:58:26 +0800 CST

procmail 坚持写信给 macOS Sierra 中的 /var/mail

  • 772

我正在尝试使用 Google 帐户fetchmail进行配置。procmail这是我的$HOME/.fetchmailrc:

poll imap.gmail.com protocol IMAP 
   user "<email>" is jviotti here
   password '<password>'
   folder 'Inbox'
   keep
   ssl
mda 'procmail'

这是我的$HOME/.procmailrc:

MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/$LOGNAME/
LOGFILE=$MAILDIR/log/procmail
VERBOSE=on

在为每条下载的消息procmail运行时,我会收到以下错误:fetchmail -a -v

fetchmail: IMAP> A0005 FETCH 1 RFC822.HEADER
fetchmail: IMAP< * 1 FETCH (RFC822.HEADER {2865}
reading message <email>@gmail-imap.l.google.com:1 of 22 (2865 header octets) #
fetchmail: IMAP< )
fetchmail: IMAP< A0005 OK Success
fetchmail: IMAP> A0006 FETCH 1 BODY.PEEK[TEXT]
fetchmail: IMAP< * 1 FETCH (BODY[TEXT] {3983}
 (3983 body octets) *******************************.************************.***********.*****
fetchmail: IMAP< )
fetchmail: IMAP< A0006 OK Success
procmail: Couldn't create "/var/mail/jviotti"
 not flushed
fetchmail: IMAP> A0007 STORE 1 +FLAGS (\Seen)
fetchmail: IMAP< A0007 OK Success

注意procmail: Couldn't create "/var/mail/jviotti" not flushed。出于某种原因,procmail坚持写信给/var/mail即使MAILDIR=$HOME/Mail和DEFAULT=$MAILDIR/$LOGNAME/。

为什么会这样?

通过查看procmailrc手册页,我发现ORGMAIL默认为/var/mail/$LOGNAME,并且DEFAULT默认为ORGMAIL:

 ORGMAIL               /var/mail/$LOGNAME
                       (Unless -m has been specified, in which case it is unset)

 DEFAULT               $ORGMAIL

但是,即使在设置ORGMAIL为其他内容后$HOME/.procmailrc,我也会收到相同的错误/警告。

请注意,即使我收到此错误,我的邮件也已正确下载到$HOME/Mail.

编辑:查看procmail -v. 出于某种原因,它仍然将我的系统邮箱设置为 /var/mail/jviotti。

$ procmail -v
procmail v3.22 2001/09/10
    Copyright (c) 1990-2001, Stephen R. van den Berg    <[email protected]>
    Copyright (c) 1997-2001, Philip A. Guenther         <[email protected]>

Submit questions/answers to the procmail-related mailinglist by sending to:
        <[email protected]>

And of course, subscription and information requests for this list to:
        <[email protected]>

Locking strategies:     dotlocking, flock()
Default rcfile:         $HOME/.procmailrc
Your system mailbox:    /var/mail/jviotti

编辑 2:请参阅以下内容man procmail:

如果在命令行上没有指定 rcfiles 和 -p,procmail 将在读取 $HOME/.procmailrc 之前解释来自 /etc/procmailrc(如果存在)的命令。创建 /etc/procmailrc 时必须小心,因为如果情况允许,它将以 root 权限执行(当然与 $HOME/.procmailrc 文件相反)。

这里说在读取我的主配置之前,它将从 读取/etc/procmailrc,但是该文件在我的系统上不存在,即使通过显式传递-p(指向我的主配置),系统邮箱仍然是/var/mail/jviotti.

手册页还说:

如果没有找到 rcfile,或者 rcfile 的处理结束,procmail 会将邮件存储在默认的系统邮箱中。

“落到尽头”是什么意思?

这是 Procmail 日志文件中来自一条传入消息的输出:

procmail: [49293] Tue Dec 13 14:29:20 2016 
procmail: Assigning "LASTFOLDER=/Users/jviotti/Mail/jviotti/new/1481653760.49293_2.jviotti-rmbp.local" 
procmail: Notified comsat: "jviotti@0:/Users/jviotti/Mail/jviotti/new/1481653760.49293_2.jviotti-rmbp.local" 
From jviotti Tue Dec 13 14:29:20 2016 
 Subject: Re: [resin-io/etcher] chore: add support for snapshot builds (#968) 
  Folder: /Users/jviotti/Mail/jviotti/new/1481653760.49293_2.jviotti-r         8015
mac-osx procmail
  • 1 1 个回答
  • 812 Views

1 个回答

  • Voted
  1. Best Answer
    tripleee
    2016-12-14T21:09:11+08:002016-12-14T21:09:11+08:00

    您看到的错误消息基本上是无害的,但它是 Procmail 告诉您它无法使用您当前的权限创建默认收件箱 - 您需要是 root 才能创建一个空邮箱。

    使用正确的权限手动创建它应该可以解决此问题。

    sudo install -o $USER -g mail -m 0600 /dev/null /var/mail/$USER
    

    procmail -v只报告编译的默认值是什么;它根本不检查您.procmailrc的(如果检查了,任何重要的配方文件都将包含大量具有不同条件的邮箱,用于何时写入)。

    “落到最后”意味着如果你有一个.procmailrcwhich 没有告诉 Procmail 发送到特定邮箱并停止处理(例如你的),最后的动作将类似于你的最后几行.procmailrc是

    :0:
    $DEFAULT
    

    这也说明了无条件 Procmail 交付配方的样子。

    您发布的 Procmail 的日志文件片段显示 Procmail 实际上正在执行您的操作.procmailrc。错误消息显然是在它启动时发生的,在它开始执行你之前.procmailrc(虽然我不能准确地重现这个,所以这是轻微的推测)。

    • 5

相关问题

  • Mac OS X:从 python 脚本中更改 $PATH

  • 登录网络用户帐户 (Open Directory) 时,Adobe Reader 不会启动

  • 如何在客户端计算机上阻止 Finder 的“记住此密码”?

  • 如何在 Mac OS X 中正确安装 Subversion?

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve