如何发送邮件提?

时间:2017-11-17 05:27:36

标签: outlook microsoft-graph

当我收到邮件时:

GET /beta/me/messages

我可以检查一下是否有人提到我。

mentionsPreview: {
  isMentioned: true
}

如何发送邮件并在邮件中提及某人或某些人?

我在document中找不到任何信息。

更新1: 我可以在创建新邮件并通过

发送时成功添加提及
POST /beta/me/sendMail

{
  // ...
  "mentions":[{    
    "mentioned": {
      "name": "Jack",
      "address": "jack@example.com"
     },
    "createdBy": {
      "name": "Me",
      "address": "me@example.com"
    }
  }]
}

但是,我在回复邮件时没有添加提及。我首先通过

创建草稿
POST /beta/me/messages/{messageId}/createReplyAll

然后我通过更新它(此步骤未能添加提及)

PATCH /beta/me/messages/{messageId}

{
  "body": {
    "contentType": "html",
    "content": "hi"
  },
  "mentions":[{    
    "mentioned": {
      "name": "Jack",
      "address": "jack@example.com"
     },
    "createdBy": {
      "name": "Me",
      "address": "me@example.com"
    }
  }]
}

我通过

发送出去
POST /beta/me/messages/{messageId}/send

在Jack收到的邮件中,内容已成功更新。但是mentionsPreview仍为空。

更新2:

感谢Jason的帮助。

进一步测试,我成功添加提及

POST /beta/me/messages/{messageId}/mentions

{
  "mentioned": {
    "address": "jack@example.com"
  }
}

但是我没有使用数组

添加提及
POST /beta/me/messages/{messageId}/mentions

{
  "mentions":[{    
    "mentioned": {
      "address": "jack@example.com"
    }
  }]
}

这意味着至少我现在必须逐一提交POST。

1 个答案:

答案 0 :(得分:2)

https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/mention

  

创建消息时,应用可以在同一POST请求中创建提及,方法是在提及属性中包含提及。

<强>更新

关于你在回复时这样做的新问题,问题是你不能像这样提及补丁。如果您在创建消息时执行此操作,则只能包含与消息其余部分内联的提及。由于您已经创建了消息(通过createReplyAll方法),因此要更新提及您需要在消息上发布/mentions关系的新提及,例如:

POST /me/messages/{messageId}/mentions

{    
  "mentioned": {
    "name": "Jack",
    "address": "jack@example.com"
  },
  "createdBy": {
    "name": "Me",
    "address": "me@example.com"
  }
}

作为一个有趣的附注,您当前不能使用replyAll方法包含内联提及。您似乎只能在创建全新消息或发送新消息时执行此操作。对于所有其他情况,您需要按照上述/mentions关系进行POST。