javascript - 是否可以仅使用 JavaScript 而无需使用 HTML 将动态链接插入到电子邮件中? (使用Google脚本发送电子邮件)

标签 javascript html dynamic hyperlink gmail

需要对此进行编辑,我没有在实际电子邮件中使用 Javascript。我在 Google 脚本中使用 Javascript,运行它来发送电子邮件。

我真的不知道如何在电子邮件中使用 html/js,但我的室友需要帮助使用 Google Sheets(.gs 文件)将使用 JavaScript 的动态链接插入到他的电子邮件中,所以我找到了执行此操作的代码,但问题是 JavaScript 仍然使用 HTML 进行动态链接。

我发现的是这个

var str = "TEXT FOR LINK"
var link = str.link("http://LINKGOESHERE")

运行它可以完美地发挥其应有的作用。然而,他的电子邮件的其余部分完全是 JavaScript,因此 JavaScript 使用此代码插入以下 HTML 代码:

<a href="http://LINKGOESHERE">TEXT FOR LINK</a>

由于我们将其作为 .gs 文件(Google 表格)运行,我想知道是否有一种方法可以在不使用任何 HTML 的情况下插入动态链接,或者我们是否只需将所有内容都包装在 HTML 中(如果是这样,如何处理通过运行 .gs 文件发送的电子邮件)。

这是 .gs 文件的样子,其中主要文本和信息被替换为乱码:

function sendEmails() {
var str = "TEXT FOR LINK"
var link = str.link("http://LINKGOESHERE")

var senderEmail = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6734282a2228292234222a262e2b2623233522343427020a060e0b4904080a" rel="noreferrer noopener nofollow">[email protected]</a>';
link.onclick = function() {
    this.href = "mailto:"+senderEmail;
};
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; 
  var numRows = sheet.getLastRow()-1;
  var dataRange = sheet.getRange(startRow, 1, numRows, 2);
  var data = dataRange.getValues();

  var sender = 'MyName';
  var body = '\n\nTEXT BLABLABLABLABLA'+link+' TEXTBLABLABLABLA';
  var subject = 'SUBJECT';
  var options = {replyTo: senderEmail , from: senderEmail, name: sender};

  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[0];
    var firstName = row[1];
    var message = 'Hi ' + firstName + ',' + body;


    MailApp.sendEmail(emailAddress, subject, message, options);
  }
}

最佳答案

您不应在电子邮件中使用 JavaScript。大多数电子邮件客户端不允许执行 JavaScript,因为它是一个强大的安全漏洞。例如,某些电子邮件客户端(例如 Outlook)允许这样做,但我不确定它是否仍然允许。

即使存在运行 JavaScript 的客户端,使用 JavaScript 发送电子邮件也是一个巨大的危险信号,您的电子邮件大多会被邮件服务器拒绝。

关于javascript - 是否可以仅使用 JavaScript 而无需使用 HTML 将动态链接插入到电子邮件中? (使用Google脚本发送电子邮件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33838775/

相关文章:

javascript - 哪种从 Promise 解析值的方法是正确的?

javascript - 如何在基于类的组件中使用 `useSelector`? react ,还原

c - 用于读取输入的动态缓冲区大小

html - 站点标题中间的 PLAY 按钮(CSS、HTML)

javascript - 使用 html 进行 url 到 url 重定向

jquery动态listview传递数据

c++ - 动态数组的初始化列表?

javascript - ReactJS "TypeError: Cannot read property ' array' of undefined"

javascript - 需要帮助反向地理编码将消息附加到 GLatLng 坐标

javascript - 重写 JQuery 选择器以支持元素 id 中的美元符号 ($)