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
}