我想发送包含一些短信和超链接的电子邮件,以便用户点击该链接并打开该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);
}
}
答案 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 });