需要对此进行编辑,我没有在实际电子邮件中使用 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/