Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Image GmailApp-附加内联图像,而不是内联图像-发送包含正文图像的电子邮件_Image_Google Apps Script_Gmail - Fatal编程技术网

Image GmailApp-附加内联图像,而不是内联图像-发送包含正文图像的电子邮件

Image GmailApp-附加内联图像,而不是内联图像-发送包含正文图像的电子邮件,image,google-apps-script,gmail,Image,Google Apps Script,Gmail,我创建了一个谷歌脚本,将几个图表作为图像发送电子邮件。当使用MailApp时,它工作正常,图像位于电子邮件正文中。使用GmailApp时,图像作为附件,不在电子邮件正文中。我想使用GmailApp,因为我可以使用别名,还因为我知道如何将电子邮件发送给一个联系人列表如何进行更改,以便GmailApp功能发送包含正文中图表的电子邮件?这里是指向的链接,下面是代码: function SRpt2() { var ss = SpreadsheetApp.getActiveSpreadsheet()

我创建了一个谷歌脚本,将几个图表作为图像发送电子邮件。当使用
MailApp
时,它工作正常,图像位于电子邮件正文中。使用
GmailApp
时,图像作为附件,不在电子邮件正文中。我想使用
GmailApp
,因为我可以使用别名,还因为我知道如何将电子邮件发送给一个联系人列表如何进行更改,以便
GmailApp
功能发送包含正文中图表的电子邮件?
这里是指向的链接,下面是代码:

function SRpt2() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sstotalsheets = ss.getNumSheets();
  var clientCode =  ss.getSheetByName("Info").getRange("C4").getDisplayValue();
  var progmgr = ss.getSheetByName("Info").getRange("D11").getDisplayValue();
  var sheetcount = 0;
  var token = ScriptApp.getOAuthToken();
  var sheets = ss.getSheets(); 
  var blobs = [];
  var subject = "Daily " + clientCode +" Digest"; 
  var body = "Your daily update";
  var recips = progmgr + ", neill@momentum-behavioral.com";
  var emailImages={};
  var emailBody="Charts<br>";

  for (var i = 5; i < sheets.length ; i++ ) {
    var sheet = sheets[i];
    var charts = sheet.getCharts(); 

    if(charts.length > 0) {
      var template = HtmlService.createTemplateFromFile("reportTemplate");
      template.date = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM-dd-yyyy");
      blobs[i] = charts[0].getBlob().getAs('image/png').setName("areaBlob");
      emailBody= emailBody + "<img src='cid:chart"+i+"'><br>";
      emailImages["chart"+i]= blobs[i];
    }
  }

  var me = Session.getActiveUser().getEmail();
  var aliases = GmailApp.getAliases();
  if (aliases.length > 0) {
    GmailApp.sendEmail(recips, subject, emailBody, {'from': aliases[0],inlineImages:emailImages});
  }

  MailApp.sendEmail({
    to: recips,
    subject: subject,
    htmlBody: emailBody,
    inlineImages:emailImages});
}
函数SRpt2(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sstotalsheets=ss.getNumSheets();
var clientCode=ss.getSheetByName(“信息”).getRange(“C4”).getDisplayValue();
var progmgr=ss.getSheetByName(“信息”).getRange(“D11”).getDisplayValue();
var-sheetcount=0;
var token=ScriptApp.getOAuthToken();
var sheets=ss.getSheets();
var blobs=[];
var subject=“Daily”+客户代码+“摘要”;
var body=“您的每日更新”;
var recips=progmgr+“,neill@momentum-行为网站”;
var emailImages={};
var emailBody=“Charts
”; 对于(变量i=5;i0){ var template=HtmlService.createTemplateFromFile(“reportTemplate”); template.date=Utilities.formatDate(新日期(),会话.getScriptTimeZone(),“MM dd yyyy”); blobs[i]=图表[0].getBlob().getAs('image/png').setName(“areaBlob”); emailBody=emailBody+“
”; emailImages[“图表”+i]=水滴[i]; } } var me=Session.getActiveUser().getEmail(); var alias=GmailApp.getAlias(); 如果(alias.length>0){ sendmail(recips,subject,emailBody,{'from':别名[0],inlineImages:emailImages}); } MailApp.sendmail({ 致:recips, 主题:主题,, htmlBody:emailBody, inlineImages:emailImages}); }
这是它所指的html:

<html>
  <h1>Daily Update <?= date ?></h1>
  <p>
    <img src="cid:chart" />
  </p>
</html>

每日更新


格式不正确的电子邮件正文只显示了实际的html源代码(我不知道如何将其粘贴到stackoverflow中,而不将其实际视为html)。

将html添加到options对象。并将body参数设为空字符串

var options;

options = {};//Assign an empty object to the variable options

//{'from': aliases[0],inlineImages:emailImages}
options.from = aliases[0];
options.inlineImages = emailImages;
options.htmlBody = emailBody;

if (aliases.length > 0) {
  GmailApp.sendEmail(recips, subject, "", options);//Leave body an empty string
}