Javascript 谷歌应用程序脚本删除自动电子邮件中的html标记
我再次需要帮助 我有这个剧本:Javascript 谷歌应用程序脚本删除自动电子邮件中的html标记,javascript,google-apps-script,Javascript,Google Apps Script,我再次需要帮助 我有这个剧本: function doGet() { return HtmlService.createHtmlOutputFromFile('calendarApp').setTitle('CalendarApp'); } function mailOne() { var date = new Date(); var day = date.getDay(); var firstDay = new Date(date.getFullYear(), date.ge
function doGet() {
return HtmlService.createHtmlOutputFromFile('calendarApp').setTitle('CalendarApp');
}
function mailOne() {
var date = new Date();
var day = date.getDay();
var firstDay = new Date(date.getFullYear(), date.getMonth(), date.getDate()-day+1);
var lastDay = new Date(date.getFullYear(), date.getMonth(), date.getDate()-day+8);
var events2 = CalendarApp.getCalendarById('myemail@gmail.com').getEvents(firstDay, lastDay);
var data2 = [];
data2.push("<b>Title</b>");
if (events2 && events2.length > 0) {
for (i = 0; i < events2.length; i++) {
data2.push(Utilities.formatDate(events2[i].getStartTime(),Session.getScriptTimeZone(),"EEEE dd/MM")+ ' ' + Utilities.formatDate(events2[i].getStartTime(),Session.getScriptTimeZone(),"HH:mm") +'<br />'+events2[i].getTitle())
}
return data2;
} else {
return ['Niks te doen!'];
}
}
function mailTwo() {
var date = new Date();
var day = date.getDay();
var firstDay = new Date(date.getFullYear(), date.getMonth(), date.getDate()-day+1);
var lastDay = new Date(date.getFullYear(), date.getMonth(), date.getDate()-day+8);
var events3 = CalendarApp.getCalendarById('myemail2@gmail.com').getEvents(firstDay, lastDay);
var data2 = [];
data2.push("<b>Title</b>");
if (events3 && events3.length > 0) {
for (i = 0; i < events3.length; i++) {
data2.push(Utilities.formatDate(events3[i].getStartTime(),Session.getScriptTimeZone(),"EEEE dd/MM")+ ' ' + Utilities.formatDate(events3[i].getStartTime(),Session.getScriptTimeZone(),"HH:mm") +'<br />'+events3[i].getTitle())
}
return data2;
} else {
return ['Niks te doen!'];
}
}
function sendMail(){
var mail1 = mailOne();
var mail2 = mailTwo();
var emailAddress = "myemail@gmail.com";
var subject = "Je weekplanning";
var defMessage = mail1 + mail2;
MailApp.sendEmail(emailAddress, subject, defMessage, {
name: "Automatisch gegenereerd"
});
}
但这给了我一个错误TypeError:在对象中找不到函数getTextFromHtml
Html替换也不起作用:
html.replace(/<[^>]+>/g, "")
html.replace(/]+>/g,”)
我想指出解决这个问题的正确方向
MailApp.sendmail的defMessage
(emailAddress,subject,defMessage,{name:“automaticsch gegenererd”})代码>作为文本正文发送。由此,可以看到HTML标记。为了避免这种情况,将defMessage
作为HTML正文发送
修改脚本:
修改脚本时,请按以下方式修改
发件人:
致:
参考资料:
如果我误解了你的问题,而这不是你想要的方向,我道歉。非常感谢你的明确解释。我刚刚检查了模式2,效果很好。等我有更多时间时,我会检查模式1。@Nina Bakker感谢您的回复和测试。我很高兴你的问题解决了。
html.replace(/<[^>]+>/g, "")
MailApp.sendEmail(emailAddress, subject, defMessage, {
name: "Automatisch gegenereerd"
});
var tempDoc = Drive.Files.insert({title: "temp", mimeType: MimeType.GOOGLE_DOCS}, Utilities.newBlob(defMessage, MimeType.HTML)).id
defMessage = DocumentApp.openById(tempDoc).getBody().getText();
Drive.Files.remove(tempDoc);
MailApp.sendEmail(emailAddress, subject, defMessage, {name: "Automatisch gegenereerd"});
MailApp.sendEmail(emailAddress, subject, defMessage, {
name: "Automatisch gegenereerd"
});
MailApp.sendEmail({to: emailAddress, subject: subject, htmlBody: defMessage, name: "Automatisch gegenereerd"});