Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python exchangelib中消息的changekey是什么?_Python_Email_Exchange Server_Exchangelib - Fatal编程技术网

Python exchangelib中消息的changekey是什么?

Python exchangelib中消息的changekey是什么?,python,email,exchange-server,exchangelib,Python,Email,Exchange Server,Exchangelib,我试图向用户提供有关他们在同一对话中以电子邮件形式收到的电子邮件的附加信息 我做什么 我明白了 回溯(最近一次呼叫最后一次): myfunction中第114行的文件“myscript.py” m、 发送() 文件“/usr/local/lib/python2.7/dist packages/exchangelib/items.py”,第507行,在send中 res=self.\u创建(消息\u处置=仅发送\u,发送会议\u邀请=发送会议\u邀请) 文件“/usr/local/lib/pyth

我试图向用户提供有关他们在同一对话中以电子邮件形式收到的电子邮件的附加信息

我做什么 我明白了

回溯(最近一次呼叫最后一次):
myfunction中第114行的文件“myscript.py”
m、 发送()
文件“/usr/local/lib/python2.7/dist packages/exchangelib/items.py”,第507行,在send中
res=self.\u创建(消息\u处置=仅发送\u,发送会议\u邀请=发送会议\u邀请)
文件“/usr/local/lib/python2.7/dist packages/exchangelib/items.py”,第176行,在创建
发送会议邀请=发送会议邀请)
文件“/usr/local/lib/python2.7/dist packages/exchangelib/account.py”,第260行,批量创建
发送会议邀请=发送会议邀请,
文件“/usr/local/lib/python2.7/dist packages/exchangelib/account.py”,第254行,在
i如果存在(i,异常)
文件“/usr/local/lib/python2.7/dist-packages/exchangelib/services.py”,第451行,在请求池中
elems=r.get()
get中的文件“/usr/lib/python2.7/multiprocessing/pool.py”,第567行
提升自我价值
ValueError:“changekey”是必填字段,没有默认值

问题是什么?如何解决它?

问题是我设置了
对话id
。如果我只想在同一个对话中显示消息,那么实际上没有必要设置对话ID。仅设置完全相同的主题行似乎就足够了。

问题是我设置了
对话id
。如果我只想在同一个对话中显示消息,那么实际上没有必要设置对话ID。仅将主题行设置为完全相同似乎就足够了。

问题是我将
对话id
对话id
设置为exchangelib中的只读字段,因此上述设置无论如何都不起作用。我不确定您是否可以通过EWS手动指定对话ID。@ErikEderstrand它是只读字段是什么意思?上述结果与上述结果完全一致。如果没有“发送”,它似乎不是只读的。@ErikCederstrand我认为最好能够设置它。在我的例子中,我希望自动将消息添加到对话中。如果不设置
对话id
,我认为没有可靠的方法可以做到这一点。仅设置主题行并不总是有效的。在此上下文中,“只读”意味着您可以将属性设置为任何您想要的值(因为这是Python),但exchangelib在向Exchange服务器发送更新时将忽略该值。可能该字段实际上可以通过EWS进行修改,我只是没有测试它是否正常工作。问题是我在exchangelib中设置了
conversation\u id
conversation\u id
为只读字段,因此上述操作无论如何都不起作用。我不确定您是否可以通过EWS手动指定对话ID。@ErikEderstrand它是只读字段是什么意思?上述结果与上述结果完全一致。如果没有“发送”,它似乎不是只读的。@ErikCederstrand我认为最好能够设置它。在我的例子中,我希望自动将消息添加到对话中。如果不设置
对话id
,我认为没有可靠的方法可以做到这一点。仅设置主题行并不总是有效的。在此上下文中,“只读”意味着您可以将属性设置为任何您想要的值(因为这是Python),但exchangelib在向Exchange服务器发送更新时将忽略该值。有可能该字段实际上可以通过EWS进行修改,我只是还没有测试它是否有效。
from exchangelib import Message

# Works:
account = Account(primary_smtp_address=smtp_address, config=config,
                  autodiscover=False, access_type=DELEGATE)
mail = A message received under account

# Works, but probably needs adjustment:
m = Message(account=account,
            subject=mail.subject,
            conversation_id=mail.conversation_id,
            body='Test',
            to_recipients=[account.primary_smtp_address])

# Throws error below
m.send()
Traceback (most recent call last):
  File "myscript.py", line 114, in myfunction
    m.send()
  File "/usr/local/lib/python2.7/dist-packages/exchangelib/items.py", line 507, in send
    res = self._create(message_disposition=SEND_ONLY, send_meeting_invitations=send_meeting_invitations)
  File "/usr/local/lib/python2.7/dist-packages/exchangelib/items.py", line 176, in _create
    send_meeting_invitations=send_meeting_invitations)
  File "/usr/local/lib/python2.7/dist-packages/exchangelib/account.py", line 260, in bulk_create
    send_meeting_invitations=send_meeting_invitations,
  File "/usr/local/lib/python2.7/dist-packages/exchangelib/account.py", line 254, in <genexpr>
    i if isinstance(i, Exception)
  File "/usr/local/lib/python2.7/dist-packages/exchangelib/services.py", line 451, in _pool_requests
    elems = r.get()
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 567, in get
    raise self._value
ValueError: 'changekey' is a required field with no default