Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从我的谷歌电子表格设置电子邮件系统。除了在身体中添加图像外,我还做了其他工作_Javascript_Email_Google Sheets - Fatal编程技术网

Javascript 从我的谷歌电子表格设置电子邮件系统。除了在身体中添加图像外,我还做了其他工作

Javascript 从我的谷歌电子表格设置电子邮件系统。除了在身体中添加图像外,我还做了其他工作,javascript,email,google-sheets,Javascript,Email,Google Sheets,我试图在邮件正文中添加一个图像。除了图像部分外,我还能让其他一切正常工作。我尝试使用的图像在“m列”中 我需要添加什么才能从“M列”中获取值并将其放入电子邮件正文中? -代码如下所示 提前谢谢。我尝试过的一切都失败了,所以我只是删除了我尝试过的所有内容,并转到了我在决定将图像添加到电子邮件之前最初拥有的内容 function sendEmails() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 2; va

我试图在邮件正文中添加一个图像。除了图像部分外,我还能让其他一切正常工作。我尝试使用的图像在“m列”中

我需要添加什么才能从“M列”中获取值并将其放入电子邮件正文中? -代码如下所示

提前谢谢。我尝试过的一切都失败了,所以我只是删除了我尝试过的所有内容,并转到了我在决定将图像添加到电子邮件之前最初拥有的内容

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;
  var numRows = 15;
  var dataRange = sheet.getRange(startRow, 1, numRows, 15);
  var data = dataRange.getValues();
  for (var i in data) {
    var row = data[i];
    var emailAddress = row[4];
    var message = row[10];
    var subject = "Subject Test";
    MailApp.sendEmail(emailAddress, subject, message);
  }
}

如果要发送包含
图像的电子邮件
,可以使用以下选项之一:

  • 如果您的图像存储为电子表格中的
    URL
以下代码片段用于创建包含从存储在电子表格中的
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
      }
  });

  • 如果您的图像存储在单元格内和/或作为
    过网格图像
不幸的是,Google Sheets无法返回图像的blob,只能返回对图像的引用,这意味着您无法检索图像并随后使用Google Apps脚本将其附加到电子邮件中

在这种情况下,另一种方法是使用
=IMAGE()
函数在单元格中插入图像,然后使用

参考

  • )

  • )

  • )

  • )


关于
从“M列”中获取值
,将什么值放入“M”列?为了正确了解您的情况,您能否提供一份电子表格样本?当然,请删除您的个人信息。-如果我使用驱动器中的图像,我的图像范围是多少另外,我是否必须更改代码这一部分中的任何内容?//var imageBlob=Utilities.newBlob(“”,'image/jpeg')//@JordanTaylor,这是您在电子表格中存储文件id的范围。举个例子,如果你的id存储在M1中,你必须在那里输入“M1”。不管我刚才做了什么,都没有用,现在我无法得到我使用的原始代码。我会尽力解释的。我有一个电子邮件列表,我需要发送个人个性化的电子邮件也,每个包含一个主题,正文和图像。我的设置如下。我在F2:F列中有一个电子邮件列表。我在O2:O列中有每个特定电子邮件地址的文本。我的Google Drive图像ID在N2:N列中。每个电子邮件的主题都会说同样的话。“受试者测试”。@JordanTaylor,第二个选项应该适合你的情况。你说的“不起作用”是什么意思?你收到错误消息了吗?您是否相应地设置了量程?干杯我添加了一个链接,上面有我正在使用的图片。感谢迄今为止所有的帮助。
  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
      }
  });

  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]
  });