函数 GmailApp.getMessageById("1405...8").getFrom() 将在两种不同的情况下返回姓名和电子邮件,据我所知:
"Full Name <email@domain.com>"
"email@domain.com"
在任何一种情况下我都需要解析名称和电子邮件,到目前为止这是我发现的最好的......
function getFrom_(namemail) { // assuming namemail always contains a valid email (name <email> or just email)
var from = {};
from.email = namemail.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi)[0];
from.name = namemail.replace(from.email, "").replace("<>", "").trim();
return from;
}
还有什么更好的办法吗?
问候,福斯托
最佳答案
您可能想看看 getReplyTo 函数是否更适合您:
https://developers.google.com/apps-script/reference/gmail/gmail-message#getReplyTo()
在我的测试中,返回的字符串是空的,因为我假设没有设置replyTo,所以YMMV。我认为只有在联系人位于您的联系人列表中并且在我没有联系数据的电子邮件中看到发件人的电子邮件时才显示全名和<>
关于javascript - 如何解析GAS中的姓名和电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18135412/