4

我想通读我所有的 Gmail 电子邮件的标题以查找特定信息。

我知道无法通过 GmailApp 服务访问(好吧,无论如何都非常肯定)。

关于如何使用主要基于 Apps 脚本的解决方案获取标头信息的任何想法?

4

2 回答 2

12

不可以,不能通过 Apps 脚本服务使用电子邮件标头。为此,您必须使用IMAP或 SMTP 路由。

-- 更新

你让我很好奇,看起来你可以通过getRawContent()并手动解析重要的。

这是您可以尝试的代码 -

function processInbox() {
  //get first message in first thread
  var message = GmailApp.getInboxThreads(0,1)[0].getMessages()[0];
  Logger.log(message.getRawContent());
};

这是LinkedIn群组消息的输出 -

From: Google APPS users Group Members <group-digests@linkedin.com>
To: Arun Nagarajan <REMOVED@gmail.com>
Message-ID: <1440795364.35263280.1354293878345.JavaMail.app@ela4-app2521.prod>
Subject: [2] discussions, [1] comment and [1] job on LinkedIn
MIME-Version: 1.0
Content-Type: multipart/mixed; 
    boundary="----=_Part_35263277_1178500841.1354293878345"
X-LinkedIn-Template: anet_digest_type
X-LinkedIn-Class: GROUPDIGEST
X-LinkedIn-fbl: s-uPmFAdhOYxvH52TwUlkvTF6rOfu4R6CRfjIFaaCOYfXQgGt9OunBRp

------=_Part_35263277_1178500841.1354293878345
Content-Type: multipart/related; 
    boundary="----=_Part_35263278_821958406.1354293878345"

------=_Part_35263278_821958406.1354293878345
Content-Type: multipart/alternative; 
    boundary="----=_Part_35263270_1718315066.1354293878331"

------=_Part_35263270_1718315066.1354293878331
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

message here
<snip>
于 2012-11-30T14:57:18.893 回答
1

感谢@Arun,只是在您的顶部添加一个小示例,例如获取“X-LinkedIn-Template”标头值:

var header = message.getRawContent().match(/(X-LinkedIn-Template:)(.*)/);
header[0] // the whole match == X-LinkedIn-Template: anet_digest_type
header[1] // the header key  == X-LinkedIn-Template
header[2] // the value       == anet_digest_type
于 2017-07-17T08:27:57.167 回答