{"record":{"id":"0a000955e5b01838","repo":"appwrite/appwrite","slug":"user-email-not-corporate","errorCode":"user_email_not_corporate","errorMessage":"Only corporate email addresses are allowed. Please use a work email address and try again.","messagePattern":"Only corporate email addresses are allowed\\. Please use a work email address and try again\\.","errorType":"exception","errorClass":"Appwrite\\Extend\\Exception","httpStatus":400,"severity":"error","filePath":"app/controllers/api/account.php","lineNumber":403,"sourceCode":"            ];\n        } catch (\\Throwable) {\n            throw new Exception(Exception::GENERAL_INVALID_EMAIL);\n        }\n\n        if ((($project->getId() === 'console') || ($plan['supportsDisposableEmailValidation'] ?? false)) && ($project->getAttribute('auths', [])['disposableEmails'] ?? false) && $emailMetadata['emailIsDisposable']) {\n            throw new Exception(Exception::USER_EMAIL_DISPOSABLE);\n        }\n\n        if ((($project->getId() === 'console') || ($plan['supportsCanonicalEmailValidation'] ?? false)) && ($project->getAttribute('auths', [])['canonicalEmails'] ?? false) && $emailMetadata['emailIsCanonical'] === false) {\n            throw new Exception(Exception::USER_EMAIL_NOT_CANONICAL);\n        }\n\n        if ((($project->getId() === 'console') || ($plan['supportsFreeEmailValidation'] ?? false)) && ($project->getAttribute('auths', [])['freeEmails'] ?? false) && $emailMetadata['emailIsFree']) {\n            throw new Exception(Exception::USER_EMAIL_FREE);\n        }\n\n        if ((($project->getId() === 'console') || ($plan['supportsCorporateEmailValidation'] ?? false)) && ($project->getAttribute('auths', [])['corporateEmails'] ?? false) && !$emailMetadata['emailIsCorporate']) {\n            throw new Exception(Exception::USER_EMAIL_NOT_CORPORATE);\n        }\n\n        try {\n            $userId = $userId == 'unique()' ? ID::unique() : $userId;\n            $user->setAttributes([\n                '$id' => $userId,\n                '$permissions' => [\n                    Permission::read(Role::any()),\n                    Permission::update(Role::user($userId)),\n                    Permission::delete(Role::user($userId)),\n                ],\n                'email' => $email,\n                'emailVerification' => false,\n                'status' => true,\n                'password' => $hash,\n                'passwordHistory' => $passwordHistory > 0 ? [$hash] : [],\n                'passwordUpdate' => DateTime::now(),\n                'hash' => $proof->getHash()->getName(),","sourceCodeStart":385,"sourceCodeEnd":421,"githubUrl":"https://github.com/appwrite/appwrite/blob/cd368e707d4b492bc5e8e9c0f8ecbc5b741c4bf4/app/controllers/api/account.php#L385-L421","documentation":"Error \"Only corporate email addresses are allowed. Please use a work email address and try again.\" thrown in appwrite/appwrite.","triggerScenarios":"Thrown at app/controllers/api/account.php:403 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cd368e707d4b492bc5e8e9c0f8ecbc5b741c4bf4","analyzedAt":"2026-08-12T14:42:48.571Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}