Если вы хотите отправить электронное письмо, содержащее images
, вы можете использовать один из следующих вариантов:
- Если ваши изображения хранятся как
urls
в вашей электронной таблице
Следующий фрагмент кода используется для создания вложения, содержащего изображение, собранное из url
, хранящегося в вашей электронной таблице.
var imageUrl = sheet.getRange("YOUR_RANGE_FOR_THE_IMAGE").getValue();
var imageBody = "<img src='cid:myImage'>";
var imageBlob = UrlFetchApp.fetch(imageUrl)
.getBlob()
.setName("imageBlob");
var message = row[10];
var subject = "Subject Test";
MailApp.sendEmail({
to: emailAddress,
subject: subject,
htmlBody: message +"<br/><br/>"+ imageBody,
inlineImages:{
myImage: imageBlob
}
});
В приведенном выше фрагменте кода используется InlineImages
, чтобы прикрепить изображение в виде вложения в электронное письмо, которое вы хотите отправить.
- Если ваши изображения хранятся на диске и у вас есть файл
ids
Следующий фрагмент кода используется для создания вложения, содержащего изображение, собранное из id
файла, который хранится на диске.
var imageId = sheet.getRange("YOUR_RANGE_FOR_THE_IMAGE").getValue();
var image = DriveApp.getFileById(imageId);
var imageBlob = Utilities.newBlob('', 'image/jpeg');
var message = row[10];
var subject = "Subject Test";
MailApp.sendEmail({
to: emailAddress,
subject: subject,
body: message,
attachments: [image.getAs(MimeType.JPEG), imageBlob]
});
- Если ваши изображения хранятся
inside a cell
и / или как overgrid images
К сожалению, Google Sheets не имеет возможности возвращать большой размер изображения, только ссылку на изображение, которое означает, что вы не можете получить им и прикрепите их позже по электронной почте с помощью Google Apps Script.
В этом случае альтернативой может быть использование функции =IMAGE()
для вставки изображений в ячейку и после этого вы можете получить их, используя Sheets API V4 .
Ссылка