- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Outlook 上有两个帐户“user1@example.com”和“user2@example.com”。我的 user1 草稿文件夹中有许多草稿,并且希望在发送之前将每封电子邮件更新到 user2 地址,以便 user2 成为电子邮件的发件人并显示在邮件项目的发件人字段中。
使用 exchangelib我设法将“发件人”和“帐户”地址从 user1 更改为 user2(甚至使用 print(item.sender, item.account)
来验证更改),但更新并未反射(reflect)完成后,从 Outlook 草稿文件夹中的字段发送电子邮件。
import getpass
from exchangelib import Configuration
from exchangelib import Credentials, Account
from exchangelib import FileAttachment, HTMLBody
from exchangelib.properties import DistinguishedFolderId
def authenticate():
"""
Authenticate into mail.example.com
"""
email = "user1@example.com"
passwd = getpass.getpass(prompt="Enter your password: ")
user_credentials = Credentials(email, passwd)
config = Configuration(server="mail.example.com",
credentials=user_credentials)
account = Account(primary_smtp_address=email, config=config,
credentials=user_credentials, autodiscover=False)
return account
def main():
"""
Change sender account to user2@example.com
"""
user_account = authenticate()
drafts = DistinguishedFolderId('drafts')
for item in user_account.drafts.all().order_by('subject'):
item.sender = 'user2@example.com'
item.account = 'user2@example.com'
user_account.drafts.save(update_fields=['sender', 'account'])
exit("Done")
if __name__ == "__main__":
main()
最佳答案
您需要对项目而不是文件夹调用.save()
。 Folder.save()
用于更改文件夹本身的属性,例如文件夹名称。
按照其他答案中的建议打印项目只会告诉您该项目的本地副本已更改,而不是服务器上的实际项目。您需要调用 item.refresh()
来查看实际更新的内容(尽管在您调用 item.save()
时应该始终匹配)。
最后,item.account
是对 Account
对象的引用。不要改变这一点。包含发件人信息的两个字段是 item.sender
和 item.author
,但 item.sender
是由服务器自动设置的,无法更改改变了。 item.author
可以更改,但仅限于消息仍为草稿时。以下是 Exchangelib 中消息特定字段定义的链接:https://github.com/ecederstrand/exchangelib/blob/3158c076a1e30a18e0b68e99a54fb14b3a6f7cd4/exchangelib/items/message.py#L18 .
这是一个例子:
for item in user_account.drafts.all().order_by('subject'):
item.author = 'user2@example.com'
item.save()
item.refresh() # This gets a fresh copy of the item on the server
print(item) # Now you see whatever the server has
关于python - 使用 Exchangelib 更改发件人帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60065616/
您好,我目前正在使用 Exchangelib。现在我想创建收件箱子文件夹的子文件夹,但我不知道是否可行。所以我想问一下有没有人更了解我的问题?我创建收件箱子文件夹的代码很简单: from exchan
我想读出收件箱中最新的电子邮件,从中选择附件并将电子邮件移动到文件夹中。我已经有保存附件的代码: from exchangelib import Credentials, Account import
我正在尝试使用 Python 的 exchangelib 模块在我的邮箱中完成一项任务 - 如果某封电子邮件包含特定主题且处于“未读”状态,如何将其移动到文件夹。 while True: pr
我正在使用 exchangelib 连接以交换和回复电子邮件。但是在发送回复时它不支持附件。 根据 this answer我必须“创建一个普通的邮件项目,它有一个‘Re: some subject’标
我尝试用exchangelib提取组邮箱进行分析,想在一个日期范围内提取。 尝试使用过滤器功能,但似乎只适用于日历,请问您是否有电子邮件示例?谢谢大家。 最佳答案 您需要过滤消息项上可用的日期时间字段
全部, 我是 Python 新手,在更新日历项的 reminder_is_set 属性时遇到问题。我正在尝试获取现在和 future 7 天的日历项目并关闭提醒。 我可以很好地在 View 中获取日历
我正在使用 Exchangelib Python 模块,我正在尝试将所有 session 链接到一个房间项目。我会在帐户对象上调用什么来获得它? 我会调用 account.folders[Calend
很抱歉,我不仅看到自己做错了什么(很可能很多)。我想做的就是阅读公共(public)日历上的事件。我尝试关注有关使用公共(public)文件夹的讨论,但这对于新手来说有点令人困惑。在 OpenSuse
使用 Anaconda2-5.0.0-Windows-x86_64、Python2.7、exchangelib 1.10.4 我正在尝试保存交换帐户中所有电子邮件的附件。似乎我可以毫无问题地连接到该帐
我想接收非收件箱文件夹的邮件 - 我该怎么做? 我可以像这样获取收件箱文件夹的电子邮件: from exchangelib import DELEGATE, Account, Credentials,
我正在使用 exchangelib 并且运行良好,但是当我尝试导出项目信息时,例如: data= ("Inbox", item.datetime_received, item.sender, item
我正在尝试使用 Exchangelib 从与特定主题匹配\开头的帐户中检索消息。这必须包括来自所有文件夹而不仅仅是“收件箱”文件夹的邮件。我在这里遇到了几个类似的问题 How can I get th
我在 Outlook 上有两个帐户“user1@example.com”和“user2@example.com”。我的 user1 草稿文件夹中有许多草稿,并且希望在发送之前将每封电子邮件更新到 us
我正在使用 Python 的 exchangelib 包。如何使用 exchangelib 将电子邮件标记为已读? 我看过official GitHub exchangelib page对于我的查询,
标题几乎说明了一切。我能够使用以下方法访问我的 Exchange 服务器: credentials = Credentials( username='DOMAIN\\username',
我想编写一个从我的 outlook 帐户获取消息的服务。为了连接到 outlook,我使用了 exchangelib 但我没有找到如何为收到的电子邮件运行监听器。这是我的代码。 from exchan
我正在尝试使用 python 3.6 和 exchangelib 连接到 office365 exchange 帐户 - 但出现错误: exchangelib\version.py",第 102 行,
我已经编写了使用exchangelib库将MS Exchange服务器电子邮件正文下载为html的代码,但它下载了没有<>括号的html内容 import datetime from exchange
我正在使用ExchangeLib在Python中。并想将我的电子邮件从 A 文件夹移动到 B 文件夹。 # I logined the Exchange Server and took the
我在 python 中使用 exchangelib 时遇到问题。我试试这个示例代码: from exchangelib import DELEGATE, Account, Credentials cr
我是一名优秀的程序员,十分优秀!