我想使用 fetchmail 从服务器检索邮件,并将其直接存入邮箱/存储库,而不是将其交给 mda。这可能吗?如何?
或者,是否有一个 mda 只是从 er fetchamil 接收内容并将它们存储在某种存储库中而不进行任何处理?
答案1
使用mda
选项在你的.fetchmailrc
指定邮件投递或者程序邮件作为您的 MDA。
mda "/usr/bin/maildrop"
这会将邮件存入系统邮箱(通常为/var/spool/mail/handygandy
或/var/mail/handygandy
)。如果您想要在其他地方,或者您想根据邮件内容发送邮件,请写一个~/.mailfilter
文件。
to mail/fetched
答案2
由于 mda 只是一个从 stdin 读取整个电子邮件并将其写入某处的程序,因此您可以在 bash 中编写最简单的 mda:
mda "/bin/sh -c 'cat > INBOX/new/$(date +%''s_%N)'"
棘手的单引号是避免“%s”的解决方法,因为 fetchmail 会将“%s”替换为当前用户名:在 fetchmail 的 mda 选项中对文字百分比进行编码