我想构建一个脚本,该脚本将使用其原始HTML来获取电子邮件,使用XML服务解析HTML并提取各种数据。
我的问题是,当您使用getRawContent()
浏览HTML时,HTML以带引号的可打印格式显示(例如<table align=3D"center" border=3D"0" cellpadding=3D"0" cellspacing=3D"0" height=3D"100%" width=3D"100%">
),这意味着XML Service无法对其进行解析。
有什么办法可以对此进行解密以使其更易读?我可以在“ = 3D”上进行查找替换,除了a)电子邮件太长而超时并且b)我猜可能还会有其他字符受到影响。
编辑:
我也尝试过使用.getBody()
进行此操作,但是当我记录结果时,它不会显示任何HTML标记,并且如果我尝试搜索HTML中已知存在的字符串,match()
只是返回null:
var htmlContent = GmailApp.getUserLabelByName('myLabel').getThreads()[0].getMessages()[0].getBody();
Logger.log(htmlContent);
Logger.log(htmlContent.match('<html'));
Logger.log(htmlContent.match('cellspacing'));
答案 0 :(得分:0)
您应该使用getBody()方法获取消息的HTML内容。
var message = GmailApp.getInboxThreads()[0].getMessages()[0];
Logger.log(message.getBody());
答案 1 :(得分:0)
如今,这种情况很少见,但电子邮件仍然只能以纯文本格式发送。签出原始电子邮件。在Trace an email with its full headers上介绍了如何在Gmail上检查原始邮件。