首页 > 解决方案 > 发送带有 HTML 附件的电子邮件或 Google 表格上的网页

问题描述

电子邮件收件人正在使用 Gmail。

所以我把这个页面保存为一个 HTML 文件(名为 index.html),然后我把它放在我的驱动器中以便能够发送它。问题是我发送页面时页面显示不正确。

function sendEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // Start at second row because the first row contains the data labels
var numRows = 2; // Put in here the number of rows you want to process

// Fetch the range of cells A3:E3
// Column A = Name, Column B = Email, Column C = Message, Column D = Message1, Column E = Message2
var dataRange = sheet.getRange(startRow, 1, numRows,4)

// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[2]; // First column of selected data
var message = "Hey, Welcome"; // Assemble the body text
var subject = "Sending emails from a Spreadsheet";
var file = DriveApp.getFilesByName('INDEX.HTML');
if (file.hasNext())
MailApp.sendEmail(emailAddress, subject, message, {
attachments: [file.next().getAs(MimeType.HTML)],
name: 'Welcome to Singa Toulouse'});

}
}

有人可以发送帮助吗

标签: htmlemailgoogle-apps-scriptgoogle-sheetsgoogle-drive-api

解决方案


铊;博士:

由于您的电子邮件收件人正在使用 Gmail,您应该知道 Gmail 文件附件预览器不会显示附加的 HTML 文件,因为它们在网络浏览器中显示。您应该重新考虑如何将您的内容交付给您的收件人。

有关的

资源


您正在通过电子邮件将 HTML 文件作为附件发送。向电子邮件收件人显示附件的方式取决于他们使用的电子邮件客户端,而不是 Google Apps 脚本。

一些电子邮件客户端使用通用文件预览器显示附件,其他可能使用默认 Web 浏览器,但通常它们会显示一些限制以防止风险。IE JavaScript 也将被阻止 src 属性引用的图像。

如果您能够询问您的电子邮件收件人他们使用的电子邮件客户端,请为每个电子邮件客户端创建一个特定的 HTML 文件,否则您应该选择您的电子邮件收件人更常用的电子邮件客户端并向他们发送适当的文件。

另一种选择是向他们提供使用支持的 Web 浏览器下载和打开文件的说明。

另一种选择是将您的内容设计为包含在电子邮件的 HTML 正文中,而不是附加 HTML 文件。

有关的


推荐阅读