首页 > 解决方案 > 超链接从谷歌表格脚本发送的电子邮件中的特定文本

问题描述

我想在这行代码引用的电子邮件消息中添加指向特定文本部分的超链接: var message = row[2]; // Third column

我已经尝试过这个建议<p> Please check out my <a href=https://example.com>site</a>,但我不知道如何将它插入到htmlbody. 我还尝试在脚本中硬编码实际的电子邮件,但不断收到错误消息。

完整代码:

// has been sent successfully.
var EMAIL_SENT = 'EMAIL_SENT';

/**
 * Sends non-duplicate emails with data from the current spreadsheet.
 */
function sendEmails2() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // First row of data to process
  var numRows = 1000; // Number of rows to process
  // Fetch the range of cells A2:D1000
  var dataRange = sheet.getRange(startRow, 1, numRows, 1000);
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[0]; // First column
    var subject = row[1]; // Second column
    var message = row[2]; // Third column
    var emailSent = row[3]; // Fourth column
    if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
      MailApp.sendEmail(emailAddress, subject, "", {
        htmlBody: message.replace(/\n/g,'<br>')});
      sheet.getRange(startRow + i, 4).setValue(EMAIL_SENT);
      // Make sure the cell is updated right away in case the script is interrupted
      SpreadsheetApp.flush();
    }
  }
}```

标签: google-apps-scriptgoogle-sheetshtml-email

解决方案


TL;博士

利用MailApp.sendEmail(emailAddress, subject, '', options)

查看选项sendEmail(recipient, subject, body, options)

分步指南:

  1. 用这些数据填写您的工作表: 在此处输入图像描述
  2. 打开 Apps Script 并输入此代码
function sendEmail() {

  let data = SpreadsheetApp.getActiveSheet().getRange("A1:C1").getValues()
  
  let emailAddress = data[0][0]; 
  let subject = data[0][1]; 
  let message = data[0][2];

  let options = {
    htmlBody: `<a href="https://google.com">${message}</a>`
  }
  
  MailApp.sendEmail(emailAddress, subject, '', options);

}
  1. 运行您的代码并检查您的收件箱。你会看到这样的东西

在此处输入图像描述


推荐阅读