使用Google Apps Script读取电子邮件标题

4
我想阅读我所有Gmail电子邮件的标题,以查找特定信息。
我知道无法通过GmailApp服务访问(基本上是确定的)。
有没有关于如何使用主要基于Apps Script的解决方案获取标题信息的想法?
2个回答

12

不,通过Apps Script服务无法获取电子邮件标头。你需要使用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>

还有一个可用的方法 getHeader() - Buntel

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接