Microsoft Graph: вставить сообщение (почту) в почтовый ящик пользователя - PullRequest
0 голосов
/ 11 июня 2019

У меня есть приложение Microsoft (с разрешениями Mail.Read/Write), и мне нужно вставить почту (файл расширения .eml) в почтовый ящик пользователя.

Это возможно? Я знаю, что с Gsuite это можно сделать с помощью API «insert», и мне было интересно, существует ли что-то подобное в Graph API.

Я не говорю об отправке нового письма пользователю или о вставке вложения в существующее сообщение в почтовом ящике пользователя, а о том, чтобы вставить совершенно новое электронное письмо в его почтовый ящик (без необходимости проходить через SPF или любые другие проверки, которые происходят). перед тем, как письма попадают в почтовые ящики конечных пользователей).

Просмотр раздела «Почта» в документации по API API не очень полезен.

Если это невозможно, возможно, есть обходной путь?

РЕДАКТИРОВАТЬ: кажется, что лучший вариант - это использовать API "Send Mail" и указать "saveToSentItems": False ... единственная проблема здесь, так как моему приложению также потребуется запросить разрешение Mail.Send ..

Спасибо

1 Ответ

0 голосов
/ 12 июня 2019

Вам не нужно использовать API отправки почты, так как все, что вы делаете, это создаете элемент в почтовом ящике.Если вы хотите, чтобы оно отображалось как Отправленное (а не как черновик), вам нужно установить расширенное свойство PidTagMessageFlags (так же, как в EWS https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-import-items-by-using-ews-in-exchange).. Также, если вы хотите, чтобы оно отображалось, если оно было отправлено.в прошлом было несколько дополнительных расширенных свойств, которые вам нужно установить, например

{
    "Subject": "test1234",
    "Sender": {
        "EmailAddress": {
            "Name": "blah",
            "Address": "blah@blah.com"
        }
    },
    "Body": {
        "ContentType": "HTML",
        "Content": "123Body"
    },
    "SingleValueExtendedProperties": [
        {
            "PropertyId": "Integer 0x0E07",
            "Value": "1"
        },
        {
            "PropertyId": "SystemTime 0x0039",
            "Value": "2019-06-12T10:10:47.2048+10:00"
        },
        {
            "PropertyId": "SystemTime 0x0E06",
            "Value": "2019-06-12T10:10:47.2048+10:00"
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...