所以我的电子邮件草稿如下:
这就是我的电子邮件发送邮件后的样子
我可以在电子邮件中找到这样的附件
这是我正在使用的脚本,所以任何人都可以告诉我,如果我做错了什么,这个代码有什么问题,因为idk很多关于谷歌应用程序脚本,我刚从堆栈中找到这个脚本我不是能够再次找到该帖子,因此无法上传其链接。
function main( ) {
var thread = GmailApp.getDrafts()[0];
var TemplateMessage = thread.getMessage();
Logger.log(TemplateMessage.getSubject());
var emailTemplate = TemplateMessage.getBody();
var rawContent = TemplateMessage.getRawContent();
var attachments = TemplateMessage.getAttachments();
var regMessageId = new RegExp(TemplateMessage.getId(), "g");
if (emailTemplate.match(regMessageId) != null) {
var inlineImages = {};
var nbrOfImg = emailTemplate.match(regMessageId).length;
var imgVars = emailTemplate.match(/<img[^>]+>/g);
var imgToReplace = [];
if(imgVars != null){
for (var i = 0; i < imgVars.length; i++) {
if (imgVars[i].search(regMessageId) != -1) {
var id = imgVars[i].match(/realattid=([^&]+)&/);
if (id != null) {
var temp = rawContent.split(id[1])[1];
temp = temp.substr(temp.lastIndexOf('Content-Type'));
var imgTitle = temp.match(/name="([^"]+)"/);
if (imgTitle != null) imgToReplace.push([imgTitle[1], imgVars[i], id[1]]);
}
}
}
}
for (var i = 0; i < imgToReplace.length; i++) {
for (var j = 0; j < attachments.length; j++) {
if(attachments[j].getName() == imgToReplace[i][0]) {
inlineImages[imgToReplace[i][2]] = attachments[j].copyBlob();
attachments.splice(j, 1);
var newImg = imgToReplace[i][1].replace(/src="[^\"]+\"/, "src=\"cid:" + imgToReplace[i][2] + "\"");
emailTemplate = emailTemplate.replace(imgToReplace[i][1], newImg);
}
}
}
}
//////////////////////////////////////////////////////////////////////////////
var message = {
htmlBody: emailTemplate,
subject: TemplateMessage.getSubject(),
attachments: attachments,
inlineImages: inlineImages
}
GmailApp.sendEmail(Session.getActiveUser().getEmail(), TemplateMessage.getSubject(), "", message);
}