簡體   English   中英

如何向 javascript 消息添加超鏈接?

[英]How can I add a hyperlink to a javascript message?

我試圖從谷歌表格發送 email 並且我已經設置了代表主題、文本和 email 地址的列。 問題是我需要在消息中間添加一個超鏈接並且我卡在這里。 我無法正確格式化段落並讓超鏈接替換句子中間的單詞。

這是代碼:

function AISEMAIL() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet1=ss.getSheetByName('Email Addresses');
var sheet2=ss.getSheetByName('Email Fields');

var subject = sheet2.getRange(2,1).getValue();
var message = sheet2.getRange(2,2).getValue();

var calendardisplayname = sheet2.getRange(2,3).getValue();
var calendarlink = sheet2.getRange(2,4).getValue();

var formdisplayname = sheet2.getRange(2,5).getValue();
var formlink = sheet2.getRange(2,6).getValue();

message=message.replace("<calendar>",calendardisplayname).replace("<form>",formdisplayname);

var n=2;
for (var i = 2; i < n+1 ; i++ ) {
var emailAddress = sheet1.getRange(i,1).getValue();
 let options = {
    htmlBody: message
    + '<a href="' + calendarlink + '">' + calendardisplayname + '</a>'
    + '<a href="' + formlink + '">' + formdisplayname + '</a>'

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

問題:

  • 你總是試圖 append 鏈接在你的options末尾。 此外,它變得多余。 您需要做的是在替換<calendar><form>的值時包含鏈接。

代碼:

  // Add the links on the replace
  message = message
    .replace("<calendar>", '<a href="' + calendarlink + '">' + calendardisplayname + '</a>')
    .replace("<form>", '<a href="' + formlink + '">' + formdisplayname + '</a>');

  var n = 2;
  for (var i = 2; i < n + 1; i++) {
    var emailAddress = sheet1.getRange(i, 1).getValue();
    let options = {
      htmlBody: message
    }
    GmailApp.sendEmail(emailAddress, subject, message, options);
  }

老Output:

樣本輸出1

新 Output:

樣本輸出2

這只是一個猜測,但您可以使用HtmlService來創建您的 html 消息嗎?

function AISEMAIL() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet1=ss.getSheetByName('Email Addresses');
var sheet2=ss.getSheetByName('Email Fields');

var subject = sheet2.getRange(2,1).getValue();
var message = sheet2.getRange(2,2).getValue();

var calendardisplayname = sheet2.getRange(2,3).getValue();
var calendarlink = sheet2.getRange(2,4).getValue();

var formdisplayname = sheet2.getRange(2,5).getValue();
var formlink = sheet2.getRange(2,6).getValue();

message=message.replace("<calendar>",calendardisplayname).replace("<form>",formdisplayname);

var n=2;
for (var i = 2; i < n+1 ; i++ ) {
var emailAddress = sheet1.getRange(i,1).getValue();

//ADDED htmlText VARIABLE
var htmlText;
 let options = {

// ADDED HtmlService.createHtmlOutput()
    htmlBody: htmlText = HtmlService.createHtmlOutput(message
    + '<a href="' + calendarlink + '">' + calendardisplayname + '</a>'
    + '<a href="' + formlink + '">' + formdisplayname + '</a>');

  }

// CHANGED message TO htmlText
GmailApp.sendEmail(emailAddress, subject, htmlText,options);
}
}

參考HtmlService

此外,如果您需要為每個 email 創建動態 html,請查看這些鏈接...

createTemplateFromFile()

。評估()

模板化 HTML

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM