对于给定的Gmail邮件,我想知道电子邮件是否已发送""文件夹中。
对于其他文件夹,有类 - isDraft() - isInInbox() - isInTrash()
但我找不到像#34; isInSent()"这样的课程。
如果电子邮件发送到"已发送"如何从google-apps-script中找到?文件夹?
答案 0 :(得分:1)
.getFrom()
将永远是你。
如果你想拥有isInSent()
课程,你可以写下以下内容:
function isInSent(GmailMessageId) {
return GmailApp.getMessageById(GmailMessageId).getFrom().indexOf(Session.getActiveUser()) != -1
}
如果运行脚本的人是发送已检查电子邮件的人,则此代码返回true
,否则返回false
。
答案 1 :(得分:-1)
最后,我得到了以下对我有用的代码。它基于一种解决方法:
如果电子邮件不在任何其他文件夹中,那么它应该被“发送” - 文件夹
var messageById = GmailApp.getMessageById(message_id);
//Classify message by folder in gmail
if (messageById.isDraft()==true) {
is_draft_email = "1";
} else {
is_draft_email = "0";
}
//isInInbox()?
if (messageById.isInInbox()==true) {
is_inbox_email = "1";
} else {
is_inbox_email = "0";
}
//isInTrash()?
if (messageById.isInTrash()==true) {
var is_in_trash_email = "1";
} else {
var is_in_trash_email = "0";
}
//isInChats()
if (messageById.isInChats()==true) {
var is_in_chats_email = "1";
} else {
var is_in_chats_email = "0";
}
//Is it a sent message?
//There is no simple method known to check this. See posting on Stackoverflow:
//Workaround: If Email is not in any of the other folders, then it mus be in "sent"-folder
if ((is_draft_email == "0") && (is_inbox_email == "0") && (is_in_trash_email == "0") && (is_in_chats_email == "0")) {
is_sent_email = "1";
} else
{is_sent_email = "0"}