This is not an easy thing to satisfy, for two reasons. First, it’s best for the product to have one mechanism for confirming ownership of an email address. Having two mechanisms in place is confusing for end users, admins and our own support team.
The second reason has to do with security. A link can be more easily hijacked or manipulated by a potential attacker. For example, it’s easy for someone to send an email that looks like it’s from a legitimate site, with a link that also looks like it, but that instead takes the user to a different site or account. Links make social engineering attacks easier to implement. Email codes, less so.
Should be fine for a one-time email, no? I’m not sure how this is different when sending a link or a code, in any case.