This maintains many of the benefits of sequential indexes and does allow you to change the key. However, if the key is changed, it would break any bookmarks, invalidate anything sent in older emails -- it would have the same effect as renaming everything.
Another variant of this approach: https://pgxn.org/dist/permuteseq/
It is also feasible to encrypt the value on display (when placing it in URLs, emails, &c):
https://wiki.postgresql.org/wiki/Pseudo_encrypt
This maintains many of the benefits of sequential indexes and does allow you to change the key. However, if the key is changed, it would break any bookmarks, invalidate anything sent in older emails -- it would have the same effect as renaming everything.