1

函数 GmailApp.getMessageById("1405...8").getFrom() 将在两种不同的情况下返回名称和电子邮件,afaik:

"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;
}

有更好的办法吗?

问候, 福斯托

4

1 回答 1

1

您可能想查看 getReplyTo 函数是否更适合您:

https://developers.google.com/apps-script/reference/gmail/gmail-message#getReplyTo()

在我的测试中,返回的字符串是空的,因为我假设没有设置 replyTo,所以 YMMV。我认为只有在联系人在您的联系人列表中时才输入全名和 <>,并且在我没有联系人数据的电子邮件中看到发件人的电子邮件而没有全名

于 2013-08-09T20:07:03.693 回答