将超链接图像添加到Google表格电子邮件应用脚本

问题描述 投票:1回答:1

我尝试将超链接图像添加到电子邮件的末尾。附加pdf并添加图像效果很好,但是我不知道如何对超链接图像执行相同操作。

我以前的来源是:Add Image to Google Sheets email App Scripthttps://developers.google.com/apps-script/reference/mail/mail-app#sendemailmessage

代码:

function emailSend(){

// Auf das aktive Tabellenblatt zugreifen
var ts = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Invoice")
var as = SpreadsheetApp.openById("1ffdhHQC4mpBTy8RzAcgXOrFv_fSXXXd3g1Ajx_EEcLguOvU").getSheetByName("Test") 
var is = SpreadsheetApp.openById("138nWL92xj1KTJdfhdh4iaOn_c62o5Qy-YynLFk1kAIky1TUF8").getSheetByName("Tabellenblatt1")
var ks = SpreadsheetApp.openById("afdfd5_s1HQC4mpBTy8RzAcgXOrFv_fSXXXd3g1Ajx_EEcLguOvU").getSheetByName("Kunden")

var getData = Browser.inputBox('Sende Rechnungsemail', 'Schreib: OK', Browser.Buttons.OK_CANCEL);
if (getData != 'cancel') 
{
  if (getData == 'OK')
  {
//Rechnungsverzeichnis
  var rechnungen = SpreadsheetApp.openById("1HQC4mpBTy8RzAcgXOrFv_fSXXXd3g1Ajx_EEcLguOvU").getSheetByName("Kundenrechnungen");
  var row = 2;
  var column = 2;
  while(rechnungen.getRange(row, column).getValue() != '')
  {
    row++;

  }
  //is.getRange(18,4).setValue(rechnungen.getRange(row,1).getDisplayValue());
  rechnungen.getRange(row,column).setValue(new Date);
  rechnungen.getRange(row,3).setValue(as.getRange("A3").getValue());
  rechnungen.getRange(row,4).setValue(as.getRange("B3").getValue());
  rechnungen.getRange(row,5).setValue(as.getRange("C3").getValue());
  rechnungen.getRange(row,6).setValue(as.getRange("D3").getValue());
  rechnungen.getRange(row,7).setValue(as.getRange("K3").getValue());
  rechnungen.getRange(row,8).setValue(as.getRange("L3").getValue());
  rechnungen.getRange(row,9).setValue(as.getRange("M3").getValue());


// Den Betreff für die Email aus Zelle B2 auslesen
var betreff = as.getRange("B5").getValue();

// Die Emailadresse für den Empfänger aus Zelle B3 auslesen
//var emailEmpfaengerAdresse = as.getRange("G3").getValues();
    var emailEmpfaengerAdresse = "[email protected]";

// Die Nachricht für die Email aus der Zelle B4 auslesen
var nachricht = as.getRange("B6").getValues();

var nachricht = "Hi"+ "<p>" + '<img src="cid:image"><br/>' + "</p>";

//Bild    
var blob = UrlFetchApp.fetch("http://example.com/wp-content/uploads/2019/08/email-2.jpg").getBlob();


// Das Tabellenblatt als PDF der Variablen pdf zuweisen


var pdf = DriveApp.getFileById('55435hs1138nWL92xj1KTJiaOn_c62o5Qy-YynLFk1kAIky1TUF8').getAs('application/pdf').getBytes();

// Den Anhang festlegen (Name des Anhangs, Inhalt, Typ)
var anhang = {fileName:(betreff+".pdf"),content:pdf, mimeType:'application/pdf'};

//Nachfrage

// Senden der Email
var nachricht2 = nachricht.replace(/\<br\/\>/gi, '\n').replace(/(<([^>]+)>)/ig, ""); 
    MailApp.sendEmail(emailEmpfaengerAdresse, betreff, nachricht2,{ htmlBody: nachricht, inlineImages: {image:blob }, attachments:anhang});

//Sendung an Selbst
MailApp.sendEmail("[email protected]", (SpreadsheetApp.getActiveSpreadsheet().getRange("B3").getValue()+" "+ SpreadsheetApp.getActiveSpreadsheet().getRange("A3").getValue() + " Rechung"), nachricht, {attachments:[anhang]}); 
  }
}

}

谢谢!

html google-apps-script google-sheets-api
1个回答
2
投票
  • 当您使用MailApp.sendEmail()发送电子邮件时,您想在电子邮件上放置带有超链接的图像。

如果我的理解是正确的,那么这个答案怎么样?可以使用HTML正文将图像与超链接一起放置。一个简单的示例脚本如下。

示例脚本:

在此示例脚本中,将徽标作为带有超链接的图像放置。

var email = "###"; // Please set an email address.
var htmlBody = '<a href="https://stackoverflow.com/company/logos"><img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png" alt="sample" width="30%" height="30%"></a>';
MailApp.sendEmail({to: email, subject: "sample subject", body: "sample body", htmlBody: htmlBody});
  • 也可以像GmailApp.sendEmail(email, "sample subject", "sample body", {htmlBody: htmlBody})一样使用GmailApp。
  • 在这种情况下,必须能够看到带有HTML正文的电子邮件。

修改的脚本:

当您修改脚本并将图像放置在HTML正文的最后时,它变成如下。

请在MailApp.sendEmail(emailEmpfaengerAdresse, betreff, nachricht2,{ htmlBody: nachricht, inlineImages: {image:blob }, attachments:anhang});之前添加以下脚本。

nachricht += '<a href="https://stackoverflow.com/company/logos"><img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png" alt="sample" width="30%" height="30%"></a>';

参考:

© www.soinside.com 2019 - 2024. All rights reserved.