Как определить размер сообщения электронной почты при использовании Google Sheet Script для Gmail? - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь выяснить, кто отправляет мне электронные письма и насколько они велики. Определение размера сбивает меня с толку. Я следовал указаниям этой статьи , чтобы составить сценарий (см. Ниже).

а как получить размер?

function sender_list() {
  var inbox_threads = GmailApp.getInboxThreads();

  var sender_array = [];

  //for (var i = 0; i < inbox_threads.length; i++) {
  for (var i = 0; i < 10; i++) {
    var message = inbox_threads[i].getMessages();
    for (var x = 0; x < message.length; x++) {
      var msg = message[x];
      var sender = msg.getFrom();
      var size = msg.getsizeEstimate(); // ???????
      sender_array.push([sender, 1, size]);
    }
  }
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheetByName('sheet1');
  sheet.clear();
  sheet.appendRow(['Email Address', 'Count', 'Size']);
  sender_array.sort();
  sheet.getRange(sheet.getLastRow()+1, 1, sender_array.length, 3).setValues(sender_array);
}

1 Ответ

1 голос
/ 09 марта 2020

Используйте getRawContent и Utilities#blob, чтобы получить blob , а также байты и размер:

const sizeInBytes = Utilities.newBlob(msg.getRawContent()).getBytes().length;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...