Importing a large database of existing users, I found two email addresses for which phabricator does not accept the local part (domain part masked to protect the innocent):
=@example.com
{^_^}@example.com
Both are valid according to RFC822 and various email address validators (for RFC822 compliance). I apologize for having users who like to break things!
Version info
---
* phabricator 216f6be11ece53cb1daafc8fff636dbdb0d7ef3d (Tue, Feb 28) (branched from c15501fc9b06f46a699bcded6d2e14c5c48af2db on origin)
* arcanist 822bc53ca306e06314560d8a76f68771d732e8e0 (Sat, Feb 25) (branched from 3b6b523c2b236e3724a1e115f126cb6fd05fa128 on origin)
* phutil 76983f49b179e575187c7dc5098cd1fbfac300c7 (Tue, Feb 28) (branched from 0625e4d28b16cba8b0154e49dc31845559b4e704 on origin)
Steps to reproduce
---
```
/opt/phacility/phabricator$ bin/accountadmin
Enter a username to create a new account or edit an existing account.
Enter a username: test1
There is no existing user account 'test1'.
Do you want to create a new 'test1' account? [Y/n] y
Enter user real name: Test1 User
Enter user email address: =@example.com
Enter a password for this user [blank to leave unchanged]:
Is this user a bot? [y/N]
Should this user be an administrator? [y/N]
ACCOUNT SUMMARY
OLD VALUE NEW VALUE
Username test1
Real Name Test1 User
Email =@example.com
Password Unchanged
Bot N N
Admin N N
Save these changes? [Y/n]
[2017-03-06 20:08:01] EXCEPTION: (Exception) Email addresses should be in the form 'user@domain.com'. The maximum length of an email address is 128 character(s). at [<phabricator>/src/applications/people/editor/PhabricatorUserEditor.php:687]
arcanist(head=stable, ref.master=3b6b523c2b23, ref.stable=822bc53ca306), phabricator(head=stable, ref.master=5fad7eb1f902, ref.stable=216f6be11ece), phutil(head=stable, ref.master=81494451f9be, ref.stable=76983f49b179)
#0 PhabricatorUserEditor::willAddEmail(PhabricatorUserEmail) called at [<phabricator>/src/applications/people/editor/PhabricatorUserEditor.php:60]
#1 PhabricatorUserEditor::createNewUser(PhabricatorUser, PhabricatorUserEmail) called at [<phabricator>/scripts/user/account_admin.php:209]
PHP Fatal error: Uncaught Exception: Process exited with an open transaction! The transaction will be implicitly rolled back. Calls to openTransaction() must always be paired with a call to saveTransaction() or killTransaction(). in /opt/phacility/libphutil/src/aphront/storage/connection/AphrontDatabaseTransactionState.php:78
Stack trace:
#0 [internal function]: AphrontDatabaseTransactionState->__destruct()
#1 {main}
thrown in /opt/phacility/libphutil/src/aphront/storage/connection/AphrontDatabaseTransactionState.php on line 78
Fatal error: Uncaught Exception: Process exited with an open transaction! The transaction will be implicitly rolled back. Calls to openTransaction() must always be paired with a call to saveTransaction() or killTransaction(). in /opt/phacility/libphutil/src/aphront/storage/connection/AphrontDatabaseTransactionState.php:78
Stack trace:
#0 [internal function]: AphrontDatabaseTransactionState->__destruct()
#1 {main}
thrown in /opt/phacility/libphutil/src/aphront/storage/connection/AphrontDatabaseTransactionState.php on line 78
```