2016-01-26 55 views
-2

我需要使用fetchmail从邮件帐户下载所有邮件。使用IMAP和fetchmail下载邮件

当我试着使用POP3我可以在这个格式正确下载所有邮件:

[[email protected] root]# ls /home/mail_import/MAIL_USER/new/ 
1453828024.7837_0.srv 
1453828029.7843_0.srv 

但POP3协议不允许选择一个文件夹,所以我需要使用IMAP。

使用IMAP时,我无法单独下载邮件。我试过了,我有一个包含所有邮件的单个文件。

如:

[[email protected] home]# stat /home/mail_import/MAIL_USER/teste 
    File: ‘/home/mail_import/MAIL_USER/teste’ 

[[email protected] home]# head /home/mail_import/MAIL_USER/teste 
From [email protected] Tue Jan 26 18:56:31 2016 
Return-path: <[email protected] > 
Envelope-to: [email protected] 
Delivery-date: Wed, 02 Dec 2015 15:47:00 -0500 

我需要下载像POP3单独的文件中使用IMAP的所有邮件。

我的.fetchmailrc是:

set bouncemail 
set no spambounce 
set softbounce 
set properties "" 
defaults: 
    antispam -1 
    batchlimit 100 

poll DOMAIN with proto IMAP 
    user 'USER' there with password 'PASS' is 'MAIL' here 
    options keep fetchall ssl mda "/usr/bin/procmail -f %F -d %T"; 
    folder INBOX 

和我的.procmailrc文件为:

MAILDIR=/home/mail_import/MAIL_ACCOUNT 
DEFAULT=$MAILDIR/INBOX 
LOGFILE=/var/log/procmail 
LOCKFILE=$MAILDIR/.default.lock 
VERBOSE=on 
:0 fhw 
|formail 
# 
## Any other rules the user wishes to either include with INCLUDERC, 
## or hardcode into this file, would go here. 
## -------------------------------------------------------------------------- 
## If we're here, the mail didn't match any other rules, so deliver normally. 
:0: 
$DEFAULT 
## If that fails, report an error and throw the mail away. 
EXITCODE=75 
:0 
/dev/null 

有下载使用IMAP分别等于POP3电子邮件一些正确的选择吗?

+0

赫姆我改变的procmail到: CORRECTHOME = /家庭/ mail_import/ MAILDIR = $ CORRECTHOME/ PMDIR = /家庭/ mail_import/ LOGFILE = $ PMDIR /日志 VERBOSE =上 :0 邮件/ 和mda到mda“/ usr/bin/procmail” 和workds:D –

+0

不是一个编程问题;提名迁移到https://superuser.com/ – tripleee

回答

0

我不明白你为什么在这里使用Procmail。只需运行Fetchmail并让它取回你的邮件。以适当的格式指定目标文件夹,然后转到。

电子邮件是否是单独的文件不是协议的功能。这是您使用的交付程序的一项功能;如果您选择传送到一个文件(Berkeley mbox格式;您在这里看到的,在每条消息的开始处有一条From_行),则所有消息将被传送到单个文件。如果您传送到一个文件夹(例如,使用maildir格式,使用newtmpcur子目录),您将得到您要求的结果。只要做你所做的任何事情,让你的POP3消息进入maildir文件夹MAIL_USER,只使用imap而不是pop3,并且你已经设置完毕。

如果您特别想这样做在procmail的,改变

DEFAULT=$MAILDIR/INBOX 

DEFAULT=$MAILDIR/ 

但是你.procmailrc的整体似乎毫无意义。你为什么通过formail管东西?您只需重复Procmail的默认行为以及一些错误。我想你可以通过计算如何让Fetchmail直接在你想要的地方传递消息来简化你自己的理解和过程。 (虽然不完全确定它是否支持maildir,但Google的快速搜索并不确定,也许根本就没有指定mda,如果这就是你在POP3中做到这一点的原因。)