Да. Вы можете использовать функцию readMessage разъема, которую, я полагаю, вы уже начали использовать. Возвращает объект типа сообщения при успешном чтении сообщения из Gmail API. Тип сообщения в ответе имеет plainTextBodyPart , htmlBodyPart , массив inlineImgParts и массив msgAttachments . Пожалуйста, обратитесь к документации API [1] Gmail Connector.
plainTextBodyPart - это тип MessageBodyPart , и это часть сообщения MIME вашего тела электронной почты, которая имеет тип содержимого text / plain .
htmlBodyPart является типом MessageBodyPart , и это часть сообщения MIME вашего тела электронной почты, которая имеет тип содержимого text / html .
inlineImgParts - это массив типов MessageBodyPart , а также массив частей сообщений MIME со встроенными изображениями вашей электронной почты, которые имеют тип содержимого image / any .
msgAttachments - это массив типов MessageBodyPart и массив частей сообщения MIME сообщения, состоящих из вложений вашего электронного письма.
Так что, если вы хотите прочитать только фактическое содержимое письма, за исключением заголовков письма, вы можете напрямую получить к нему доступ через MessageBodyPart типы.
Если ваше электронное письмо имеет текст сообщения HTML, вы можете получить доступ к телу сообщения HTML следующим образом.
var response = gmailEP->readMessage(userId, messageId);
match response {
gmail:Message m => {
gmail:MessageBodyPart htmlMsgBody = m.htmlBodyPart;
string htmlBody = htmlMsgBody.body;
io:println(htmlBody);
// Your html message body will be a base64 encoded string.
// You may need to decode it using an inbuild Ballerina library, for your use.
}
gmail:GmailError e => io:println(e);
* *} Тысяча сорок-девять
Обратите внимание, что в общем случае сообщения в вашем почтовом ящике Gmail будут содержать как HTML, так и текстовые сообщения, если только они не были отправлены вам или созданы вами как текст / обычный текст (составляя его в режиме обычного текста). Поэтому, когда вы читаете такую почту, она будет иметь и plainTextBodyPart, и htmlBodyPart. Тело plainTextBodyPart будет иметь только текстовое тело без HTML-тегов, а тело htmlBodyPart будет содержать весь HTML-текст сообщения.
Вы можете убедиться в этом, просмотрев ваше электронное сообщение в оригинальном режиме. (Войдите в систему и перейдите в пользовательский интерфейс своего почтового ящика Gmail, нажмите кнопку : (далее) в верхнем правом углу письма, которое вы хотите прочитать, и нажмите Показать оригинал . Вы можете просмотреть все сообщение в виде сообщения MIME со всеми заголовками и частями сообщения MIME.
Кроме того, вы можете получить любые вложения и встроенные изображения вашей электронной почты, используя inlineImgParts и msgAttachments .
Дайте мне знать, если у вас есть какие-либо проблемы.
[1] https://central.ballerina.io/wso2/gmail#Message