Obter conteúdo MIME de uma mensagem
MIME é um padrão de email do setor. Muitos aplicativos de email criam mensagens em formato MIME e as salvam em arquivos com a extensão .EML.
Mesmo que o Outlook não salve mensagens no formato MIME, há duas maneiras de obter um corpo de mensagem do Outlook no formato MIME:
- Você pode acrescentar um
$value
segmento para uma operação obter-mensagem nessa mensagem. - Se a mensagem estiver anexada a um item do Outlook ou postagem do grupo, você pode acrescentar um
$value
segmento de uma operação obter-anexo obter dessa item ou postagem do grupo.
Em ambos os casos, o aplicativo deve ter as permissões apropriado para acessar o item do Outlook ou postagem do grupo para aplicar a operação obter-anexo ou obter-mensagem.
Você pode salvar o conteúdo no corpo da mensagem em um arquivo .EML e anexar o arquivo para registros em sistemas de negócios, como CRM, ERP e controle de bugs.
O que é MIME?
MIME é um padrão usado por email da internet para transmitir os seguintes tipos de conteúdo via SMTP:
- Mensagem de texto sem formatação
- Mensagem com conteúdo alternativo (ou seja, em texto simples e HTML)
- Mensagem de resposta com a mensagem original anexada
- Mensagem de texto com anexos de imagem, áudio, vídeo ou arquivos de aplicativo
- Outras construções de mensagem
Estes são cabeçalhos MIME típicos em uma mensagem. Para obter mais informações, confira RFC 2045..
-
MIME-Version
– Indica que a mensagem é formatada MIME. -
Content-Type
– Indica o tipo de mídia da mensagem ou uma parte da mensagem, representada por um tipo e subtipo. Também inclui umboundary
campo que especifica uma cadeia de caracteres, como o limite MIME ou limite de encapsulação, dependendo da localização doContent-Type
. -
Content-Disposition
– Fornece detalhes de um anexo, como o estilo da apresentação (inline
ouattachment
), nomes dos arquivos e as datas de criação e da última modificação. -
Content-Transfer-Encoding
– Especifica o método de codificação para representar dados binários.
Obter conteúdo MIME de uma mensagem Outlook
Você pode obter a representação MIME de uma mensagem, acrescentando o $value
segmento ao receber a mensagem:
GET /users/{id}/messages/{id}/$value
Exemplo
A seguir está um exemplo que solicita que uma mensagem na caixa de correio do usuário seja retornada com seu conteúdo MIME.
GET https://graph.microsoft.com/v1.0/me/messages/4aade2547798441eab5188a7a2436bc1/$value
Esta é a resposta. O conteúdo MIME começa com o MIME-Version
cabeçalho.
Received: from contoso.com (10.194.241.197) by
contoso.com (10.194.241.197) with Microsoft
SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1374.0 via Mailbox
Transport; Mon, 4 Sep 2017 03:00:08 -0700
Received: from contoso.com (10.194.241.197) by
contoso.com (10.194.241.197) with Microsoft
SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1374.0; Mon, 4 Sep
2017 03:00:07 -0700
Received: from contoso.com
(fe80::5bf:5059:4ca0:5017) by contoso.com
(fe80::5bf:5059:4ca0:5017%12) with mapi id 15.01.1374.000; Mon, 4 Sep 2017
03:00:01 -0700
From: Administrator <admin@contoso.com>
To: Administrator <admin@contoso.com>
Subject: This email has attachment.
Thread-Topic: This email has attachment.
Thread-Index: AQHTJWSHSywMzSz8o0OJud48nG50GQ==
Date: Mon, 4 Sep 2017 10:00:00 +0000
Message-ID:
<4aade2547798441eab5188a7a2436bc1@contoso.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-MS-Exchange-Organization-AuthSource:
contoso.com
X-MS-Has-Attach: yes
X-MS-Exchange-Organization-Network-Message-Id:
0ffdb402-ec03-42c8-5d32-08d4f37bb517
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
X-MS-Exchange-Organization-RecordReviewCfmType: 0
x-ms-publictraffictype: Emai
```http
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="_004_4aade2547798441eab5188a7a2436bc1contoso_"
--_004_4aade2547798441eab5188a7a2436bc1contoso_
Content-Type: multipart/alternative;
boundary="_000_4aade2547798441eab5188a7a2436bc1contoso_"
--_000_4aade2547798441eab5188a7a2436bc1contoso_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
The attachment is an email.
--_000_4aade2547798441eab5188a7a2436bc1contoso_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"><!-- P {margin-top:0;margi=
n-bottom:0;} --></style>
</head>
<body dir=3D"ltr">
<div id=3D"divtagdefaultwrapper" style=3D"font-size:12pt;color:#000000;font=
-family:Calibri,Helvetica,sans-serif;" dir=3D"ltr">
<p>The attachment is an email.</p>
</div>
</body>
</html>
--_000_4aade2547798441eab5188a7a2436bc1contoso_--
--_004_4aade2547798441eab5188a7a2436bc1contoso_
Content-Type: application/octet-stream; name="Attachment email.eml"
Content-Description: Attachment email.eml
Content-Disposition: attachment; filename="Attachment email.eml"; size=408;
creation-date="Mon, 04 Sep 2017 09:59:43 GMT";
modification-date="Mon, 04 Sep 2017 09:59:43 GMT"
Content-Transfer-Encoding: base64
RnJvbToJQWRtaW5pc3RyYXRvciA8YWRtaW5AdGVuYW50LUVYSEItMTQ3MS5jb20+DQpTZW50OglN
b25kYXksIFNlcHRlbWJlciA0LCAyMDE3IDM6MjYgUE0NClRvOglTcml2YXJkaGFuIEhlYmJhcg0K
U3ViamVjdDoJQXR0YWNobWVudCBlbWFpbA0KDQpJIHdpbGwgYXR0YWNoIHRoaXMgZW1haWwgdG8g
YW5vdGhlciBtYWlsLg0K
--_004_4aade2547798441eab5188a7a2436bc1contoso_--
Obter o conteúdo MIME de uma mensagem do Outlook anexada a um item do Outlook ou postagem do grupo
Você também pode obter a representação MIME de uma mensagem do Outlook, se a mensagem foi anexada a de um evento do Outlook, mensagem, tarefa, ou postagem do grupo que o seu aplicativo pode acessar.
Para fazer isso, identifique o anexo e acrescente o $value
segmento ao receber esse anexo. A seguir algumas maneiras comuns de acessar um anexo. Confira Obter um anexo para mais informações.
Se a mensagem estiver anexada a um evento do calendário padrão do usuário:
GET /users/{id}/events/{id}/attachments/{id}/$value
Se a mensagem anexada a outra mensagem na caixa de correio do usuário:
GET /users/{id}/messages/{id}/attachments/{id}/$value
Se a mensagem estiver anexada a uma tarefa do Outlook na pasta de tarefas do usuário padrão:
GET /users/{id}/outlook/tasks/{id}/attachments/{id}/$value
Se a mensagem estiver anexada a uma postagem especifica do grupo:
GET /groups/{id}/threads/{id}/posts/{id}/attachments/{id}/$value
Exemplo
A seguir está um exemplo que recebe uma mensagem que foi anexada a outra mensagem e retorna o corpo no formato MIME.
GET https://graph.microsoft.com/v1.0/me/messages/AAMkAGUAAA7XW-lAAA=/attachments/AAMkAGUAAA7XW-lAAABEgAQAFBZJBq4EN5FlCSvNV-M-FI=/$value
Esta é a resposta. O conteúdo MIME começa com o MIME-Version
cabeçalho.
Received: from MWHPR22MB0302.namprd22.prod.outlook.com (2603:10b6:104:5::23)
by MWHPR2201MB1053.namprd22.prod.outlook.com with HTTPS via
CO2PR04CA0193.NAMPRD04.PROD.OUTLOOK.COM; Mon, 22 Apr 2019 19:48:20 +0000
Received: from MWHPR22MB1007.namprd22.prod.outlook.com (10.172.167.21) by
MWHPR22MB0302.namprd22.prod.outlook.com (10.173.53.146) with Microsoft SMTP
Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.1813.12; Mon, 22 Apr 2019 19:48:16 +0000
Received: from MWHPR22MB1007.namprd22.prod.outlook.com
([fe80::1d05:c2d3:92a:f8dc]) by MWHPR22MB1007.namprd22.prod.outlook.com
([fe80::1d05:c2d3:92a:f8dc%9]) with mapi id 15.20.1813.017; Mon, 22 Apr 2019
19:48:16 +0000
From: Adele Vance <AdeleV@contoso.com>
To: Megan Bowen <MeganB@contoso.com>
Subject: Press conference
Thread-Topic: Press conference
Thread-Index: AQHU+UQNzFWFTilRjECtpiWorLYxqA==
Date: Mon, 22 Apr 2019 19:48:16 +0000
Message-ID:
<MWHPR22MB100769D1513B3DC0F007B2ECD4220@MWHPR22MB1007.namprd22.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-MS-Exchange-Organization-AuthSource: MWHPR22MB1007.namprd22.prod.outlook.com
X-MS-Has-Attach:
X-MS-Exchange-Organization-Network-Message-Id:
88bed46b-a860-40fb-591e-08d6c75b76c1
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
X-MS-Exchange-Organization-RecordReviewCfmType: 0
x-ms-publictraffictype: Email
authentication-results: contoso.com; dkim=none (message not
signed) header.d=none;contoso.com; dmarc=none action=none
header.from=contoso.com;
x-originating-ip: [2001:4898:80e8:9:9607:7cf8:4576:961c]
x-ms-office365-filtering-correlation-id: 88bed46b-a860-40fb-591e-08d6c75b76c1
x-microsoft-antispam:
BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(7021145)(8989299)(4534185)(7022145)(4603075)(4627221)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7177060)(7171020)(7173020)(7193020);SRVR:MWHPR22MB0302;
x-ms-traffictypediagnostic: MWHPR22MB0302:
X-Microsoft-Antispam-Mailbox-Delivery:
ucf:0;jmr:0;ex:0;auth:0;dest:I;ENG:(750119)(520011016)(706158)(944506303)(944626516);
X-Microsoft-Antispam-Message-Info:
twccJ5SmB7ZvueSjaTBdmtD3489zlRiHPqiO3DBEil1jBx5xhl/5G/fK2GLgdH0klkE2uoUAAvdvpmxiJezwxCtmn11Nq3kvaOuypDL2TDVdYvWkTfSt4SYfVTp34iBoDlvOEbTh8LTl5J/dz98cgvoRdiE7TUJBXTGvUyVTQX1LG7Xg1hNXMu6XLng6Axdn/ka2NUhmzOa3hEl9yoUI8g3G66Vq3zzVRQFpS+P5+/d1LcbKHsuYMgZNBzBeM6dLnMnwOH9rKXqjV+d72YDnQw4SkbULkoEsQs2Vq0e4URDtkzQwHqcoPv1W2HE4pypmiqkl4M6lJtBccF3MWPP/xNxl6NL5gLSpZCILbg8gQ1UxxX8Kdhd4KWbDa3ayHLHBr11hMNFbGftcUZbZ6jrAtiIGYtGzaAxHqlYC3lUHXZIMdygT76enIJJwklQ1VIp4
Content-Type: multipart/alternative;
boundary="_000_MWHPR22MB100769D1513B3DC0F007B2ECD4220MWHPR22MB1007namp_"
MIME-Version: 1.0
--_000_MWHPR22MB100769D1513B3DC0F007B2ECD4220MWHPR22MB1007namp_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
The press conference will be on May 15. We arranged to have the press gathe=
r at 2pm outside the main entrance.
--_000_MWHPR22MB100769D1513B3DC0F007B2ECD4220MWHPR22MB1007namp_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"><!-- P {margin-top:0;margi=
n-bottom:0;} --></style>
</head>
<body dir=3D"ltr">
<div id=3D"divtagdefaultwrapper" style=3D"font-size:12pt;color:#000000;font=
-family:Calibri,Helvetica,sans-serif;" dir=3D"ltr">
<p style=3D"margin-top:0;margin-bottom:0">The press conference will be on M=
ay 15. We arranged to have the press gather at 2pm outside the main entranc=
e.</p>
</div>
</body>
</html>
--_000_MWHPR22MB100769D1513B3DC0F007B2ECD4220MWHPR22MB1007namp_--
Próximas etapas
Saiba mais sobre:
- Obter o conteúdo MIME de um anexo do item para um evento, mensagem, tarefa do Outlook ou postagem do grupo
- Por que integrar com o email do Outlook
- Como usar a API de email e seus casos de uso do Microsoft Graph versão 1.0.