我需要生成一份关于邮件列表和一封信的发件人的报告,我可以提取字母的主题,但不了解如何获取每封信的发件人地址,报告结果是:< / p>
主题:你好来自:frank@gmail.com
主题:您的购物篮来自:jerry@facebook.com
function myFunction() {
var emailAddress = Session.getActiveUser().getEmail();
var threads = GmailApp.getInboxThreads();
var output = ContentService.createTextOutput();
for (var i = 0; i < threads.length; i++) {
output.append(threads[i].getFirstMessageSubject()+" from:"+'\n');
}
GmailApp.sendEmail(emailAddress,"Mail Report", output.getContent()
);
}
更新
感谢您的回答,解决方案很简单
function myFunction() {
var emailAddress = "example@email.com" ;
var threads = GmailApp.getInboxThreads();
var messages = threads[0].getMessages();
var senderEmail = messages[0].getFrom();
var output = ContentService.createTextOutput();
for (var i = 0; i < threads.length; i++) {
messages = threads[i].getMessages()
senderEmail = messages[0].getFrom();
output.append(i + ". " + threads[i].getFirstMessageSubject()+" from:"+ senderEmail + '\n');
}
GmailApp.sendEmail(emailAddress,"Mail Report", output.getContent()
);
}
示例结果:
答案 0 :(得分:4)
如果我理解你要做什么,那么我相信你可以从线程中获取消息,然后从消息中获取发件人
var threads = GmailApp.getInboxThreads();
var messages = threads[0].getMessages();
var senderEmail = messages[0].getFrom();
答案 1 :(得分:0)
var label = GmailApp.getUserLabelByName('inbox');
var threads = label.getThreads();
for(i in threads)
{
threads[i].getMessages()[0].getFrom()
}
答案 2 :(得分:0)
您需要添加 “https://www.googleapis.com/auth/userinfo.email” 在oauthScopes。(appscript.json文件)
您可以在此链接中获得更多详细信息 enter link description here
答案 3 :(得分:-1)
出于安全考虑,如果您使用的是Google消费者帐户,则无法使用Session.getActiveUser().getEmail()
收到该电子邮件。仅当脚本由Google Apps用户拥有且访问者属于同一域时,它才有效。
但是,您可以尝试提到here