我正在为gmail编辑在线可用的snooze脚本,我希望在收件箱中和列表顶部带回未读的电子邮件。我能够将其取消,并根据可用的脚本返回收件箱,但要将收件箱置于收件箱之上,我将电子邮件转发给自己。通过这种方式,我可以将电子邮件主题放在列表顶部,但是当一个被延后的电子邮件有附件时,它会转发带有附件的电子邮件。我有大量的电子邮件,可用空间有限。因此,我最终使用额外的存储空间来重复附件,这是不需要的。
我想转发电子邮件,没有附件。以下是我目前的剧本:
var firstThread = page[i];
var giattachment = null;
var sub = firstThread.getFirstMessageSubject();
var newsub = "Reminder: " + firstThread.getFirstMessageSubject() + " : ";
var id = newsub + firstThread.getPermalink();
var messages = firstThread.getMessages();
var totalThreadCount= firstThread.getMessageCount();
for (var j = 0; j < messages.length; j++) {
var forwardlength=messages.length-1;
if(j == forwardlength) {
if (MARK_UNREAD) {
messages[j].markUnread();
}
messages[j].forward(userEmail,{subject: newsub, from:userEmail, name: EmailFrom, body: newbody, attachments:giattachment});
}
}
尽管如此,电子邮件会通过附件转发。请指教..
提前致谢
答案 0 :(得分:0)
要有选择地转发邮件,请使用filters
创建为响应邮件属性或内容而转发的规则。
您可以按发件人,主题日期,大小和邮件内容等属性过滤邮件。使用Gmail advanced search syntax的任何查询也可以在过滤器中使用。尝试将criteria.hasAttachment=true
设置为false。
有关详情,请点击以下链接:https://developers.google.com/gmail/api/v1/reference/users/settings/filters
答案 1 :(得分:0)
您不能使用 Class GmailMessage 转发,因为它强制您转发原始附件。不幸的是没有记录,它的高级参数 attachments
只能添加新附件。
但是,您可以通过使用 Class MailApp 创建新消息来转发,在您的情况下是:
var from, firstThread = page[i];
var sub = firstThread.getFirstMessageSubject();
var newsub = "Reminder: " + firstThread.getFirstMessageSubject() + " : ";
var id = newsub + firstThread.getPermalink();
var messages = firstThread.getMessages();
var totalThreadCount= firstThread.getMessageCount();
for (var j = 0; j < messages.length; j++) {
var forwardlength=messages.length-1;
if(j == forwardlength) {
if (MARK_UNREAD) {
messages[j].markUnread();
}
from = message.getHeader('From');
if (from.indexOf(' <') > -1)
from = from.substring(0, from.indexOf(' <'));
else
from = '';
MailApp.sendEmail(userEmail, newsub, '', {htmlBody: messages[j].getBody(), name: from, replyTo: message[j].getFrom()});
}
}
变化:
var giattachment = null;
messages[j].forward
替换为 MailApp.sendEmail
messages[j].getBody()
来模拟原始身体最后 2 点表示转发的消息将从 "someone else's name" <your@address>
到达,对于大多数收件人来说,这看起来像是真正的转发。