如何使用谷歌工作表中的JavaScript发送带有超链接的自动电子邮件

时间:2018-03-16 15:02:22

标签: html email google-apps-script

我想发送包含一些短信和超链接的电子邮件,以便用户点击该链接并打开该URL。但它只在我发送时显示为文本。真的很感激,如果有人可以帮忙。

function sendEmails() {

    var sheet = SpreadsheetApp.getActiveSheet();
    var startRow = 2;  // First row of data to process
    var numRows = 10;   // Number of rows to process
    var dataRange = sheet.getRange(startRow, 1, numRows, 4)
    var data = dataRange.getValues();
    for (i in data) {
        var row = data[i];
        var emailAddress = row[1];
        var name = row[0];
        var message = row[2];
        var links = <a href="https://www.google.com/">Click here</a>;
        var subject = "Sending emails from a Spreadsheet";
        MailApp.sendEmail(emailAddress, subject, message, links);
    }
}

1 个答案:

答案 0 :(得分:2)

https://developers.google.com/apps-script/reference/mail/mail-app

您使用的是sendEmail(String,String,String,String),但如果使用sendEmail(String,String,String,Object),则可以使用具有htmlBody属性的对象,该属性将允许使用HTML。

还有sendEmail(Object),给出了一个有htmlBody的例子:

MailApp.sendEmail({
  to: "recipient@example.com",
  subject: "Logos",
  htmlBody: "inline Google Logo<img src='cid:googleLogo'> images! <br>" +
            "inline YouTube Logo <img src='cid:youtubeLogo'>",
  inlineImages:
    {
      googleLogo: googleLogoBlob,
      youtubeLogo: youtubeLogoBlob
    }
});

你说你已设法发送短信,所以我从那里接收了它。我将假设您希望HTML消息中包含以下内容:row[2]和指向https://www.google.com/的链接。您的links变量变为:

    var links = row[2] + '<a href="https://www.google.com/">Click here</a>';

如果你是想要row[2]和链接之间的换行符,您可以添加<br> s:

    var links = row[2] + '<br /><a href="https://www.google.com/">Click here</a>';

(顺便说一句:您可能希望将links重命名为htmlBody。使用sendEmail(String,String,String,Object)版本的sendEmail添加htmlBody,我们会得到以下信息:

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