如何获取电子邮件别名列表

问题

用户需要获取电子邮件别名列表,而管理控制台无法提供此列表。

环境

  • Apps 脚本

解决方案

  1. 打开 Apps 脚本
  2. 点击“新建项目”。
  3. 在标题中为脚本项目命名。
  4. 删除现有代码示例。
  5. 添加以下脚本:
    /**
    
     * list users that have email aliases
    
     * Usage:
    
     * 1. copy and paste this source code to your Apps Script Editor
    
     * 2. select the following function name
    
     * 3. click 'Run'.
    
     * 4. The users with email aliases will be printed in the 'Execution log'
    
     *
    
     * © 2021 xFanatical, Inc.
    
     * @license MIT
    
     * @version 1.0.2 fix a pagination issue
    
     * @version 1.0.1 print out aliases
    
     * @version 1.0.0 proof of concept
    
     */
    
    function listUsersWithEmailAliases() {
    
      let pageToken
    
      let page
    
      do {
    
        page = AdminDirectory.Users.list({
    
          customer: 'my_customer',
    
          maxResults: 100,
    
          pageToken,
    
          fields: 'users(name/fullName,primaryEmail,aliases),nextPageToken',
    
        })
    
        let users = page.users
    
        if (users) {
    
          for (let i = 0; i < users.length; i++) {
    
            const user = users[i]
    
            if (user.aliases && user.aliases.length > 0) {
    
              Logger.log(`User ${user.name.fullName} <${user.primaryEmail}> `
    
                + `has ${user.aliases.length} email alias${user.aliases.length > 1 ? 'es' : ''}: `
    
                + JSON.stringify(user.aliases))
    
            }
    
          }
    
        } else {
    
          Logger.log('No users found.')
    
        }
    
        pageToken = page.nextPageToken
    
      } while (pageToken)
    
    }
  6. 点击左侧导航面板中的服务
  7. 选择 Admin SDK API
  8. 点击添加
  9. 点击工具栏中的保存 Google Apps 脚本项目按钮。
  10. 点击运行
  11. 在首次运行时授予权限。
  12. 结果将显示在执行日志中。
。 如果您在执行脚本后收到任何错误消息: <ph type="x-smartling-placeholder">
    </ph>
  1. 前往管理控制台,然后转到安全 >访问权限和数据控制 >API 控件
  2. 确保已选中信任网域拥有的内部应用