2017-05-01 3 views
1

Je regarde les documents API, et il semble que vous ne pouvez spécifier qu'un Body dans un Message.Est-ce que l'API REST d'Office 365 peut envoyer un e-mail à la fois en texte brut et en HTML?

Envoi d'un message:

https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#SendMessages

Le type Message:

https://msdn.microsoft.com/en-us/office/office365/api/complex-types-for-mail-contacts-calendar#MessageResource

Est-il possible de faire quelque chose comme un message en plusieurs parties avec le texte brut et HTML? En fin de compte, je cherche à envoyer ce message avec une invitation jointe à l'agenda, mais c'est un autre sujet. L'API REST d'Office 365 peut-elle envoyer un e-mail à la fois avec du texte brut et un corps HTML?

+0

Que signifie même avoir un message en texte et HTML? Comment voulez-vous que les clients soient capables de rendre cela? – Yogesh

+0

@Yogesh C'est une pratique très courante d'avoir un email en texte et en HTML. Le client rend celui que vous préférez. – GSerg

+0

Apparemment, vous voulez simplement joindre un fichier HTML à un e-mail texte? – GSerg

Répondre

2

Non, vous utiliserez le point REST pour définir un type de corps ou un autre. Est-il possible de faire quelque chose comme un message en plusieurs parties avec du texte brut et du HTML? Ceci sera fait pour vous par l'environnement Exchange lorsque le message sera converti en message MIME lors de l'envoi.

Exchange génère des parties "multipart/alternative" du MIME et définit le texte brut et le code HTML appropriés pour le contenu que vous définissez avec votre appel REST. Par exemple, si vous définissez le corps "HTML" via la demande de repos, le MIME sortant aura une partie HTML, comme vous l'avez défini, et une partie "texte en clair", qui sera générée par le convertisseur MIME Exchange HTML et vice versa.

Veuillez noter que nous ne parlons pas des parties "multipart/mixtes" liées aux pièces jointes du message. Il s'agit uniquement de parties alternatives pour le corps du message.

Enfin, regardez l'application Microsoft Outlook. Ce n'est rien d'autre qu'un client supplémentaire pour l'environnement Exchange. Vous pouvez composer un message en texte brut ou choisir de le composer en RTF/HTML, mais jamais les deux. La partie alternative sera générée par Exchange MIME converter en tant que partie de la conversion Message -> MIME et MIME aura des parties alternatives du même corps. A la fin, je suis sûr que si j'ai répondu à votre question, parce que par les commentaires on dirait que vous savez ce qu'est "multipart/alternative" et en quoi il est différent de "multipart/mixed".

+0

Je dirais que vous avez répondu. C'est utile. Et bon de savoir que Outlook est juste un autre client pour ces mêmes API. Sinon, j'aurais peut-être perdu de l'importance en écrivant une application Windows native pour contrôler l'application Outlook dans le but d'obtenir plus de fonctionnalités que les API REST. –

+0

@RobN Eh bien, Outlook est encore un autre client pour Exchange, mais il n'utilise pas REST en effet. REST est l'API publique pour les applications tierces. Outlook (moderne) utilise lui-même [MAPI sur HTTP] (https://blogs.technet.microsoft.com/exchange/2014/05/09/outlook-connectivity-with-mapi-over-http/). Ici, j'ai essayé de fournir le point que tout ce que fait Exchange avant d'envoyer l'objet Message à la nature sera valable pour tout client et API. Content de clarifier les choses pour vous. –

+0

Ah, d'accord. Puis-je utiliser MAPI ou est-il privé? La raison pour laquelle je demande est que j'ai besoin de créer des e-mails riches en texte avec des invitations de calendrier. Je veux m'assurer que mon programme peut faire tout ce que les utilisateurs d'Outlook peuvent faire. Dans le passé, c'était un problème, mais je n'ai pas encore vraiment testé les API REST d'Office 365. –