Créer un messageCreate Message

Utilisez cette API pour créer un brouillon d’un nouveau message. Vous pouvez créer des brouillons dans n’importe quel dossier et éventuellement les mettre à jour avant l’envoi. Pour enregistrer dans le dossier Brouillons, utilisez le raccourci /messages.Use this API to create a draft of a new message. Drafts can be created in any folder and optionally updated before sending. To save to the Drafts folder, use the /messages shortcut.

Lorsque vous créez le brouillon dans le même appel POST, vous pouvez inclure une pièce jointe.While creating the draft in the same POST call, you can include an attachment.

AutorisationsPermissions

L’une des autorisations suivantes est nécessaire pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Type d’autorisationPermission type Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)Permissions (from least to most privileged)
Déléguée (compte professionnel ou scolaire)Delegated (work or school account) Mail.ReadWriteMail.ReadWrite
Déléguée (compte Microsoft personnel)Delegated (personal Microsoft account) Mail.ReadWriteMail.ReadWrite
ApplicationApplication Mail.ReadWriteMail.ReadWrite

Requête HTTPHTTP request

POST /me/messages
POST /users/{id|userPrincipalName}/messages
POST /me/mailFolders/{id}/messages
POST /users/{id | userPrincipalName}/mailFolders/{id}/messages

En-têtes de demandeRequest headers

En-têteHeader ValeurValue
AutorisationAuthorization Porteur {token}. Obligatoire.Bearer {token}. Required.
Content-TypeContent-Type application/jsonapplication/json

Corps de la demandeRequest body

Dans le corps de la demande, fournissez une représentation JSON de l’objet message.In the request body, supply a JSON representation of message object.

Dans la mesure où la ressource message prend en charge des extensions, vous pouvez utiliser l’opération POST pour ajouter des propriétés personnalisées avec vos propres données au message lors de sa création.Since the message resource supports extensions, you can use the POST operation and add custom properties with your own data to the message while creating it.

RéponseResponse

Si elle réussit, cette méthode renvoie un code de réponse 201 Created et un objet message dans le corps de la réponse.If successful, this method returns 201 Created response code and message object in the response body.

ExempleExample

Demande 1Request 1

Voici un exemple de la demande.Here is an example of the request.

POST https://graph.microsoft.com/v1.0/me/messages
Content-type: application/json

{
    "subject":"Did you see last night's game?",
    "importance":"Low",
    "body":{
        "contentType":"HTML",
        "content":"They were <b>awesome</b>!"
    },
    "toRecipients":[
        {
            "emailAddress":{
                "address":"AdeleV@contoso.onmicrosoft.com"
            }
        }
    ]
}

Dans le corps de la demande, fournissez une représentation JSON de l’objet Message.In the request body, supply a JSON representation of message object.

Réponse 1Response 1

Voici un exemple de la réponse. Remarque : L’objet de réponse illustré ici peut être tronqué à des fins de concision. Toutes les propriétés sont renvoyées à partir d’un appel réel.Here is an example of the response. Note: The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('94447c6e-ea4c-494c-a9ed-d905e366c5cb')/messages/$entity",
    "@odata.etag":"W/\"CQAAABYAAABK4UfANE/UR5clSilZtIuWAAC1vdti\"",
    "id":"AAMkADNlNYjSAAA=",
    "createdDateTime":"2017-07-22T01:53:56Z",
    "lastModifiedDateTime":"2017-07-22T01:53:57Z",
    "changeKey":"CQAAABYAAABK4UfANE/UR5clSilZtIuWAAC1vdti",
    "categories":[

    ],
    "receivedDateTime":"2017-07-22T01:53:57Z",
    "sentDateTime":"2017-07-22T01:53:57Z",
    "hasAttachments":false,
    "internetMessageId":"<MWHPR1301MB@MWHPR1301MB.namprd13.prod.outlook.com>",
    "subject":"Did you see last night's game?",
    "bodyPreview":"They were awesome!",
    "importance":"low",
    "parentFolderId":"AAMkADNlNWAAAAAAEPAAA=",
    "conversationId":"AAQkADNlNFdXGBnqtY=",
    "isDeliveryReceiptRequested":false,
    "isReadReceiptRequested":false,
    "isRead":true,
    "isDraft":true,
    "webLink":"https://outlook.office365.com/owa/?ItemID=AAMkADNlNYjSAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
    "inferenceClassification":"focused",
    "body":{
        "contentType":"html",
        "content":"<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nThey were <b>awesome</b>!\r\n</body>\r\n</html>\r\n"
    },
    "toRecipients":[
        {
            "emailAddress":{
                "name":"Adele Vance",
                "address":"AdeleV@contoso.onmicrosoft.com"
            }
        }
    ],
    "ccRecipients":[

    ],
    "bccRecipients":[

    ],
    "replyTo":[

    ]
}

Exemple de code SDKSDK sample code


GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var emailAddress = new EmailAddress
{
    Address = "AdeleV@contoso.onmicrosoft.com",
};

var toRecipients = new Recipient
{
    EmailAddress = emailAddress,
};

var toRecipientsList = new List<Recipient>();
toRecipientsList.Add( toRecipients );

var body = new ItemBody
{
    ContentType = BodyType.Html,
    Content = "They were <b>awesome</b>!",
};

var message = new Message
{
    Subject = "Did you see last night's game?",
    Importance = Importance.Low,
    Body = body,
    ToRecipients = toRecipientsList,
};

await graphClient.Me.Messages
    .Request()
    .AddAsync(message);

Pour plus d’informations sur la façon d' Ajouter le kit de développement logiciel (SDK) à votre projet et de créer une instance authProvider , consultez la documentation SDK .Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.

Demande 2Request 2

L’exemple suivant ajoute deux en-têtes de message Internet de client lors de la création du brouillon du message.The next example adds a couple of customer Internet message headers when creating the message draft.

POST https://graph.microsoft.com/v1.0/me/messages
Content-type: application/json

{
    "subject":"9/8/2018: concert",
    "body":{
        "contentType":"HTML",
        "content":"The group represents Washington."
    },
    "toRecipients":[
        {
            "emailAddress":{
                "address":"AlexW@contoso.OnMicrosoft.com"
            }
        }
    ],
    "internetMessageHeaders":[
        {
            "name":"x-custom-header-group-name",
            "value":"Washington"
        },
        {
            "name":"x-custom-header-group-id",
            "value":"WA001"
        }
    ]
}

Dans le corps de la demande, fournissez une représentation JSON de l’objet message.In the request body, supply a JSON representation of message object.

Réponse 2Response 2

Voici un exemple de réponse.Here is an example of the response. Remarque : les en-têtes de message Internet ne sont pas renvoyés par défaut dans une réponse POST.Note: Internet message headers are not returned by default in a POST response. L’objet réponse présenté ici peut également être tronqué par souci de concision.The response object shown here may also be truncated for brevity. Toutes les propriétés sont renvoyées à partir d’un appel réel.All of the properties will be returned from an actual call.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('7f180cbb-a5ae-457c-b7e8-6f5b42ba33e7')/messages/$entity",
    "@odata.etag":"W/\"CQAAABYAAAC4ofQHEIqCSbQPot83AFcbAAAnjjuE\"",
    "id":"AAMkADhNmAAA=",
    "createdDateTime":"2018-09-09T02:54:56Z",
    "lastModifiedDateTime":"2018-09-09T02:54:56Z",
    "changeKey":"CQAAABYAAAC4ofQHEIqCSbQPot83AFcbAAAnjjuE",
    "categories":[

    ],
    "receivedDateTime":"2018-09-09T02:54:56Z",
    "sentDateTime":"2018-09-09T02:54:56Z",
    "hasAttachments":false,
    "internetMessageId":"<MWHPR220MB1120.namprd22.prod.outlook.com>",
    "subject":"9/8/2018: concert",
    "bodyPreview":"The group represents Washington.",
    "importance":"normal",
    "parentFolderId":"AAMkADhAAAAAAEPAAA=",
    "conversationId":"AAQkADhNCuP8OKSm-0NE=",
    "isDeliveryReceiptRequested":false,
    "isReadReceiptRequested":false,
    "isRead":true,
    "isDraft":true,
    "webLink":"https://outlook.office365.com/owa/?ItemID=AAMkADhNmAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
    "inferenceClassification":"focused",
    "body":{
        "contentType":"html",
        "content":"<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nThe group represents Washington.\r\n</body>\r\n</html>\r\n"
    },
    "toRecipients":[
        {
            "emailAddress":{
                "name":"Alex Wilber",
                "address":"AlexW@contoso.OnMicrosoft.com"
            }
        }
    ],
    "ccRecipients":[

    ],
    "bccRecipients":[

    ],
    "replyTo":[

    ],
    "flag":{
        "flagStatus":"notFlagged"
    }
}

Exemple de code SDKSDK sample code


GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var internetMessageHeaders = new InternetMessageHeader
{
    Name = "x-custom-header-group-id",
    Value = "WA001",
};

var _internetMessageHeaders = new InternetMessageHeader
{
    Name = "x-custom-header-group-name",
    Value = "Washington",
};

var internetMessageHeadersList = new List<InternetMessageHeader>();
internetMessageHeadersList.Add( _internetMessageHeaders );
internetMessageHeadersList.Add( internetMessageHeaders );

var emailAddress = new EmailAddress
{
    Address = "AlexW@contoso.OnMicrosoft.com",
};

var toRecipients = new Recipient
{
    EmailAddress = emailAddress,
};

var toRecipientsList = new List<Recipient>();
toRecipientsList.Add( toRecipients );

var body = new ItemBody
{
    ContentType = BodyType.Html,
    Content = "The group represents Washington.",
};

var message = new Message
{
    Subject = "9/8/2018: concert",
    Body = body,
    ToRecipients = toRecipientsList,
    InternetMessageHeaders = internetMessageHeadersList,
};

await graphClient.Me.Messages
    .Request()
    .AddAsync(message);

Pour plus d’informations sur la façon d' Ajouter le kit de développement logiciel (SDK) à votre projet et de créer une instance authProvider , consultez la documentation SDK .Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.

Voir aussiSee also