diff --git a/connector/github/github.go b/connector/github/github.go index a7818579e25e51b726da44356dbc68eb8e9cd0c0..18a56628af232db5da56978a9910f64313ce574f 100644 --- a/connector/github/github.go +++ b/connector/github/github.go @@ -531,9 +531,10 @@ func (c *githubConnector) user(ctx context.Context, client *http.Client) (user, return u, err } - // Only public user emails are returned by 'GET /user'. u.Email will be empty - // if a users' email is private. We must retrieve private emails explicitly. - if u.Email == "" { + // Only public user emails are returned by 'GET /user'. + // If a user has no public email, we must retrieve private emails explicitly. + // If preferredEmailDomain is set, we always need to retrieve all emails. + if u.Email == "" || c.preferredEmailDomain != "" { var err error if u.Email, err = c.userEmail(ctx, client); err != nil { return u, err