代码之家  ›  专栏  ›  技术社区  ›  NootNootNoob

使用Microsoft Graph API将电子邮件移动到已删除邮件

  •  0
  • NootNootNoob  · 技术社区  · 2 年前

    我想使用C#删除特定帐户邮箱中的电子邮件。NET Microsoft Graph API。

    我看到一些帖子建议 DeleteAsync() 方法,但这将永久删除该项。有没有办法删除电子邮件,使其移动到“已删除邮件”文件夹,而不是完全不可恢复?

    foreach (Microsoft.Graph.Message currMessage in emails)
    {
        string msgId = currMessage.Id;
        string sender = currMessage.From.EmailAddress.Address.ToString();
        string subejct = currMessage.Subject;
        string receivedDate = currMessage.ReceivedDateTime.Value.ToLocalTime().ToString("dd/MM/yyyy hh:mm tt");
    
        await graphClient.Users[emailUser]
            .Messages[msgId]
            .Request()
            .DeleteAsync();
    }
    
    1 回复  |  直到 2 年前
        1
  •  2
  •   user2250152    2 年前

    在SDK v5中,您可以通过以下方式将消息移动到已删除的项目:

    using Microsoft.Graph.Me.Messages.Item.Move;
    
    var requestBody = new MovePostRequestBody
    {
        DestinationId = "deletedItems",
    };
    
    var result = await graphClient.Users[emailUser].Messages["{message-id}"].Move.PostAsync(requestBody);
    

    对于SDK v4,它有点不同:

    var result = await graphClient.Users[emailUser].Messages["{message-id}"].Move("deletedItems").Request().PostAsync();
    
    推荐文章