【问题标题】:Add Hyperlink Image to Google Sheets email App Script将超链接图像添加到 Google 表格电子邮件应用脚本
【发布时间】:2019-10-10 17:48:07
【问题描述】:

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

我之前的消息来源是: Add Image to Google Sheets email App Script https://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 = "xxx@googlemail.com";

// 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("xxx@xxx.com", (SpreadsheetApp.getActiveSpreadsheet().getRange("B3").getValue()+" "+ SpreadsheetApp.getActiveSpreadsheet().getRange("A3").getValue() + " Rechung"), nachricht, {attachments:[anhang]}); 
  }
}

}

谢谢!

【问题讨论】:

  • 你想如何将超链接的图像放到电子邮件中?你能提供你期望的输出吗?
  • 我想在我的电子邮件签名中添加这些小的 facebook 和 twitter 超链接图像 - 在公司徽标和地址下。谢谢。
  • 感谢您的回复。我提出了一个示例脚本和修改后的脚本。你能确认一下吗?如果我误解了您的目标并且这不是您想要的结果,我深表歉意。

标签: html google-apps-script google-sheets-api


【解决方案1】:
  • 当使用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,例如 GmailApp.sendEmail(email, "sample subject", "sample body", {htmlBody: htmlBody})
  • 在这种情况下,需要能够看到带有 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>';

参考资料:

【讨论】:

  • @04k 感谢您的回复。很高兴您的问题得到解决。
猜你喜欢
  • 1970-01-01
  • 2013-08-22
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多