Google apps script 我们如何使用谷歌应用程序脚本格式化电子邮件
我写了一个小代码,从电子表格中收集“文本”、“电子邮件”和“主题”,并将gmail发送给收件人。Google脚本工作正常,但是自动gmail的宽度是固定的。所以当“文本”的长度改变时,gmail的宽度不会改变,这会导致文本位置的改变,这看起来有点奇怪 我的代码示例:-Google apps script 我们如何使用谷歌应用程序脚本格式化电子邮件,google-apps-script,Google Apps Script,我写了一个小代码,从电子表格中收集“文本”、“电子邮件”和“主题”,并将gmail发送给收件人。Google脚本工作正常,但是自动gmail的宽度是固定的。所以当“文本”的长度改变时,gmail的宽度不会改变,这会导致文本位置的改变,这看起来有点奇怪 我的代码示例:- function temp2() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var dataSheet = ss.getSheetByName('Sheet1');
function temp2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheetByName('Sheet1');
var templateSheet = ss.getSheetByName('Sheet2');
var emailTemplate2 = templateSheet.getRange("G1").getValue();
var rec = templateSheet.getRange("C1").getValue();
var sub = templateSheet.getRange("D1").getValue();
// Logger.log(rec);
MailApp.sendEmail(rec, sub, emailTemplate2);
}
我截短的电子邮件的第一张图片:-
我截短的电子邮件的第二个图像:-
在这封邮件中,“五月/十二月”、“171/26131”和“四月/十一月”是动态词。因此,我的第二行邮件(如图所示)有时以“follow”结尾,有时以“closed”结尾(取决于这三个动态条目的长度)
理想情况下,在我的gmail中,宽度应该是动态的,并且应该在月份名称后以“Period(.”结尾,在本例中是四月/十一月。
我想检查一下,我们在GAS中有没有子选项,通过它我们可以使‘gmail动态宽度’?我查看了文档中的MailApp.sendmail
选项,但找不到更多详细信息
这方面的任何建议都将非常有用
问候,
Alok您可以使用“sendmail(recipient,subject,body,options)”方法,body参数为空(“”),并使用htmlBody键(将使用该键而不是body值)添加选项Json
在htmlBody值(字符串)中,可以根据需要排列文本。在您的例子中,您从一个工作表中获取值,因此您可以直接放置所有html代码,并将其与将成为电子邮件正文的工作表值连接起来
以下是一个工作示例:
function temp2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheetByName('Sheet1');
var templateSheet = ss.getSheetByName('Sheet2');
var emailTemplate2 = templateSheet.getRange("G1").getValue();
var rec = templateSheet.getRange("C1").getValue();
var sub = templateSheet.getRange("D1").getValue();
// Logger.log(rec);
MailApp.sendEmail(rec, sub, "", {
htmlBody: '<html lang="en"><head><meta charset="utf-8"></head><body><div style="width:1864px;">' + emailTemplate2 + '</div></body></html>'
});
}
函数temp2(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var dataSheet=ss.getSheetByName('Sheet1');
var templateSheet=ss.getSheetByName('Sheet2');
var emailTemplate2=templateSheet.getRange(“G1”).getValue();
var rec=templateSheet.getRange(“C1”).getValue();
var sub=templateSheet.getRange(“D1”).getValue();
//Logger.log(rec);
MailApp.sendEmail(记录,子“{
htmlBody:“+emailTemplate2+”
});
}
在这里,我将主体的所有内容放在一个宽度属性设置为1864px的
元素中,您可以调整它,因为您需要将所有主体放在一行中
其他选项可以在工作表单元格内使用html代码,并使用
、
、
、
等,根据需要格式化其中的文本
进一步阅读:通过使用htmlBody选项,您可以对电子邮件内容进行更多的控制。