我想下载电子邮件而不进行任何处理,无需 procmail。我正在尝试像这样配置 fetchmail:
mda "/bin/sh -c 'cat > INBOX/new/$(date +%s_%N)'"
但它产生了一个名为“yuchao_326621000”的文件,而不是预期的“1428556930_751589889”。我认为这是因为 fetchmail 会将“%s”替换为当前用户名。
那么,如何在“mda”选项中编码“%”?
我尝试过的:
mda "/bin/sh -c 'cat > INBOX/new/$(date +%%s_%N)'"
mda "/bin/sh -c 'cat > INBOX/new/$(date +\%s_\%N)'"
以上两种方法均无效。
答案1
阅读 fetchmail 的源代码(sink.c,第 1183 行左右)后,我无法找到编码“%”的方法。
因此,唯一的解决方法是避免使用“%s”,并且使用 bash 的单引号语法很容易:
mda "/bin/sh -c 'cat > INBOX/new/$(date +%''s_%N)'"