Exchangelib:将电子邮件从收件箱移动到文件夹

时间:2018-04-27 13:02:53

标签: python exchangelib

我想在收件箱中读出最新的电子邮件,从中选择附件并将电子邮件移至文件夹。我已经有了保存附件的代码:

from exchangelib import Credentials, Account
import os

credentials = Credentials('test.name@mail.com', 'password')
account = Account('test.name@mail.com', credentials=credentials, autodiscover=True)
for item in account.inbox.all().order_by('-datetime_received')[:1]:
    for attachment in item.attachments:
        fpath = os.path.join("C:/destination/path", attachment.name)
        with open(fpath, 'wb') as f:
            f.write(attachment.content)

但是我将电子邮件移动到收件箱以外的其他文件夹时遇到问题。 到目前为止,我只找到了这个选项:

item.move(to_folder)

但我不知道应该怎么写这个文件夹的名字。 有人能举个例子吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

#include <iostream> #include <type_traits> template <typename T> struct DefaultPattern { using type = int; static int CalculateValue (T const &) { return 0; } }; template <> struct DefaultPattern<int> : public DefaultPattern<long> { static int CalculateValue (int const & input) { return input + 2; } }; int main () { static_assert( std::is_same<DefaultPattern<int>::type, int>{}, "!" ); std::cout << DefaultPattern<long>::CalculateValue(1L) << std::endl; std::cout << DefaultPattern<int>::CalculateValue(1) << std::endl; } 的{​​{1}}参数必须是to_folder实例,而不是文件夹名称。这是一个例子:

.move()