在电子邮件 (html) 正文中使用 Google Apps 脚本在 html 中创建图像 link

Create image link in html using Google Apps Script in email (html) body

我正在尝试使用上面的代码为 YouTube 视频动态生成图像 link:

var emailMessage = HtmlService.createTemplateFromFile("bdaycard");

var msgMate = {};
msgMate.msgNiver = msgNiver;
// ...
msgMate.linkVideo = getURL_(getVideosArt["id"]); //some youtube id video
    
emailMessage.msgMate = msgMate;

var message = emailMessage.evaluate().getContent();

MailApp.sendEmail(emailAddress, subject, emailMessage, {
      htmlBody: message,
}); 


function getURL_(videoId) {
  
  var urlVideo = "https://www.youtube.com/embed/" + videoId;
  var thumVideo = "https://i.ytimg.com/vi/" + videoId + "/hqdefault.jpg";
  
  var urlA = '<a href="' + urlVideo + '" target="_blank" <img src="' + thumVideo + '" width="480" height="360"></a>';
  
  return urlA;
}

我的 html 页面配置了以下脚本

<div>
 <?= msgMate.linkVideo ?>
</div>

不幸的是,结果我得到的是文本而不是图像link

有没有办法在最终 html/body 电子邮件结果中显示图像而不是代码段?

在你的脚本中,做如下修改怎么样?

发件人:

var urlA = '<a href="' + urlVideo + '" target="_blank" <img src="' + thumVideo + '" width="480" height="360"></a>';

收件人:

var urlA = '<a href="' + urlVideo + '" target="_blank"> <img src="' + thumVideo + '" width="480" height="360"></a>';

还有,

发件人:

<div>
 <?= msgMate.linkVideo ?>
</div>

收件人:

<div>
 <?!= msgMate.linkVideo ?>
</div>
  • 在您的 HTML 中,在 <a href="' + urlVideo + '" target="_blank" <img 中,标签 a 未包含在内。
  • 在这种情况下,请使用 <?!= 而不是 <?=

参考: