javascript - 如何解析GAS中的姓名和电子邮件

标签 javascript google-apps-script

函数 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/

相关文章:

javascript - 在 javascript 中创建对象/结构的最佳方式

javascript - rails : change CSS property dynamically?

javascript - 当我使用 JavaScript 动态加载下一个视频时出现黑屏

javascript - 如何将 Google 脚本表单数据导出到 Google 云端硬盘?

javascript - 新的谷歌电子表格脚本函数 setvalue 将所有内容始终设置为字符串

javascript - HTML 页面搜索

javascript - D3 - 单独而不是作为组旋转矩形文本元素

google-apps-script - 改为24小时。 DateRangeFilter 的模式

google-apps-script - 自定义类可以移动到自己的库中吗?

java - 如何从用于 Java 的谷歌应用引擎调用谷歌应用脚​​本